summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <uberlord@gentoo.org>2006-10-17 10:09:37 +0000
committerRoy Marples <uberlord@gentoo.org>2006-10-17 10:09:37 +0000
commitfd25f4c89b1394ac175974b733f3b062b0cdd002 (patch)
tree2e4aae24b8e58b5fc91da4bc657943d40fb672f6 /sys-freebsd/boot0
parentFix use_with noutempter. (diff)
downloadhistorical-fd25f4c89b1394ac175974b733f3b062b0cdd002.tar.gz
historical-fd25f4c89b1394ac175974b733f3b062b0cdd002.tar.bz2
historical-fd25f4c89b1394ac175974b733f3b062b0cdd002.zip
Added ~sparc-fbsd keyword.
Package-Manager: portage-2.1.2_pre3-r3
Diffstat (limited to 'sys-freebsd/boot0')
-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) {