summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <uberlord@gentoo.org>2006-10-17 10:00:30 +0000
committerRoy Marples <uberlord@gentoo.org>2006-10-17 10:00:30 +0000
commit773e728e91f6299763f20521428867889aac2fd1 (patch)
treed4ee957cf7c41419a1a96baab6f3511fca0d72da
parentAdded ~sparc-fbsd keyword. (diff)
downloadgentoo-2-773e728e91f6299763f20521428867889aac2fd1.tar.gz
gentoo-2-773e728e91f6299763f20521428867889aac2fd1.tar.bz2
gentoo-2-773e728e91f6299763f20521428867889aac2fd1.zip
Added ~sparc-fbsd keyword.
(Portage version: 2.1.2_pre3-r3)
-rw-r--r--sys-freebsd/boot0/ChangeLog6
-rw-r--r--sys-freebsd/boot0/boot0-6.2_beta2.ebuild7
-rw-r--r--sys-freebsd/boot0/files/freebsd-sources-6.2-sparc64.patch33
3 files changed, 42 insertions, 4 deletions
diff --git a/sys-freebsd/boot0/ChangeLog b/sys-freebsd/boot0/ChangeLog
index be8e02d322bb..af6e2d550ba1 100644
--- a/sys-freebsd/boot0/ChangeLog
+++ b/sys-freebsd/boot0/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-freebsd/boot0
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/boot0/ChangeLog,v 1.11 2006/10/05 09:06:11 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/boot0/ChangeLog,v 1.12 2006/10/17 10:00:30 uberlord Exp $
+
+ 17 Oct 2006; Roy Marples <uberlord@gentoo.org>
+ +files/freebsd-sources-6.2-sparc64.patch, boot0-6.2_beta2.ebuild:
+ Added ~sparc-fbsd keyword.
*boot0-6.2_beta2 (05 Oct 2006)
diff --git a/sys-freebsd/boot0/boot0-6.2_beta2.ebuild b/sys-freebsd/boot0/boot0-6.2_beta2.ebuild
index f7a224ae2e66..86eaf9fedb79 100644
--- a/sys-freebsd/boot0/boot0-6.2_beta2.ebuild
+++ b/sys-freebsd/boot0/boot0-6.2_beta2.ebuild
@@ -1,12 +1,12 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/boot0/boot0-6.2_beta2.ebuild,v 1.1 2006/10/05 09:06:11 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/boot0/boot0-6.2_beta2.ebuild,v 1.2 2006/10/17 10:00:30 uberlord Exp $
inherit bsdmk freebsd
DESCRIPTION="FreeBSD's bootloader"
SLOT="0"
-KEYWORDS="~x86-fbsd"
+KEYWORDS="~sparc-fbsd ~x86-fbsd"
IUSE=""
@@ -18,7 +18,8 @@ DEPEND="=sys-freebsd/freebsd-mk-defs-${RV}*
S="${WORKDIR}/sys/boot"
-PATCHES="${FILESDIR}/boot0-6.0-gentoo.patch"
+PATCHES="${FILESDIR}/boot0-6.0-gentoo.patch
+ ${FILESDIR}/freebsd-sources-6.2-sparc64.patch"
src_unpack() {
freebsd_src_unpack
diff --git a/sys-freebsd/boot0/files/freebsd-sources-6.2-sparc64.patch b/sys-freebsd/boot0/files/freebsd-sources-6.2-sparc64.patch
new file mode 100644
index 000000000000..7e10d0017eab
--- /dev/null
+++ b/sys-freebsd/boot0/files/freebsd-sources-6.2-sparc64.patch
@@ -0,0 +1,33 @@
+FreeBSD only works on Sparc64 and freeBSD code relies on the __sparc64__ define.
+gcc only defines __sparc64__ if -mcpu is not used.
+gcc-4 defaults to using -mcpu=ultrasparc on FreeBSD.
+
+This causes us a problem. Infact, FreeBSD developers sent gcc a patch to always
+define __sparc64__ when using -mcpu=ultrasparc, but this was rejected by most
+people including NetBSD developers.
+
+The correct solution is to use __sparc__.
+If platform detection is required, or the code is obviously 64 bit then we can
+use the __arch64__ define as well.
+This combination should be supported by all gcc versions:)
+
+--- ofw/libofw/ofw_net.c 2005-03-02 20:12:27 +0000
++++ ofw/libofw/ofw_net.c 2006-10-11 08:10:48 +0100
+@@ -189,7 +189,7 @@
+ if ((ch = index(path, ':')) != NULL)
+ *ch = '\0';
+ netdev = OF_finddevice(path);
+-#ifdef __sparc64__
++#if defined(__sparc__)
+ if (OF_getprop(netdev, "mac-address", desc->myea, 6) == -1)
+ #else
+ if (OF_getprop(netdev, "local-mac-address", desc->myea, 6) == -1)
+@@ -207,7 +207,7 @@
+ printf("ofwn_init: Open Firmware instance handle: %08x\n", netinstance);
+ #endif
+
+-#ifndef __sparc64__
++#ifndef __sparc__
+ dmabuf = NULL;
+ if (OF_call_method("dma-alloc", netinstance, 1, 1, (64 * 1024), &dmabuf)
+ < 0) {