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
commitb3be57d3f35f3ae2bb35e01ee592ff30d75d4b26 (patch)
tree530ba9169583c33357dbad9ecaba63b832544bee /sys-freebsd
parentFix use_with noutempter. (diff)
downloadgentoo-2-b3be57d3f35f3ae2bb35e01ee592ff30d75d4b26.tar.gz
gentoo-2-b3be57d3f35f3ae2bb35e01ee592ff30d75d4b26.tar.bz2
gentoo-2-b3be57d3f35f3ae2bb35e01ee592ff30d75d4b26.zip
Added ~sparc-fbsd keyword.
(Portage version: 2.1.2_pre3-r3)
Diffstat (limited to 'sys-freebsd')
-rw-r--r--sys-freebsd/freebsd-contrib/ChangeLog7
-rw-r--r--sys-freebsd/freebsd-contrib/files/freebsd-contrib-6.2-sparc64.patch79
-rw-r--r--sys-freebsd/freebsd-contrib/freebsd-contrib-6.2_beta2.ebuild7
3 files changed, 89 insertions, 4 deletions
diff --git a/sys-freebsd/freebsd-contrib/ChangeLog b/sys-freebsd/freebsd-contrib/ChangeLog
index b0c78c709381..bd034eca32d8 100644
--- a/sys-freebsd/freebsd-contrib/ChangeLog
+++ b/sys-freebsd/freebsd-contrib/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-freebsd/freebsd-contrib
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-contrib/ChangeLog,v 1.11 2006/10/05 09:08:08 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-contrib/ChangeLog,v 1.12 2006/10/17 10:09:37 uberlord Exp $
+
+ 17 Oct 2006; Roy Marples <uberlord@gentoo.org>
+ +files/freebsd-contrib-6.2-sparc64.patch,
+ freebsd-contrib-6.2_beta2.ebuild:
+ Added ~sparc-fbsd keyword.
*freebsd-contrib-6.2_beta2 (05 Oct 2006)
diff --git a/sys-freebsd/freebsd-contrib/files/freebsd-contrib-6.2-sparc64.patch b/sys-freebsd/freebsd-contrib/files/freebsd-contrib-6.2-sparc64.patch
new file mode 100644
index 000000000000..64a5b631f426
--- /dev/null
+++ b/sys-freebsd/freebsd-contrib/files/freebsd-contrib-6.2-sparc64.patch
@@ -0,0 +1,79 @@
+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:)
+
+diff -ur gnu.orig/usr.bin/binutils/gdb/freebsd-uthread.c gnu/usr.bin/binutils/gdb/freebsd-uthread.c
+--- gnu.orig/usr.bin/binutils/gdb/freebsd-uthread.c 2003-11-12 08:33:18 +0000
++++ gnu/usr.bin/binutils/gdb/freebsd-uthread.c 2006-10-10 20:27:16 +0100
+@@ -454,7 +454,7 @@
+
+ #endif
+
+-#ifdef __sparc64__
++#ifdef __sparc__
+
+ static char jmpmap[125] = {
+ -1
+diff -ur gnu.orig/usr.bin/binutils/libbfd/bfd.h gnu/usr.bin/binutils/libbfd/bfd.h
+--- gnu.orig/usr.bin/binutils/libbfd/bfd.h 2004-07-08 18:05:32 +0100
++++ gnu/usr.bin/binutils/libbfd/bfd.h 2006-10-10 20:29:03 +0100
+@@ -63,7 +63,7 @@
+ #define BFD_HOST_64BIT_LONG 0
+ #define BFD_HOST_64_BIT long long
+ #define BFD_HOST_U_64_BIT unsigned long long
+-#elif defined(__alpha__) || defined(__sparc64__) || defined(__amd64__) || defined(__ia64__)
++#elif defined(__alpha__) || (defined(__sparc__) && defined(__arch64__)) || defined(__amd64__) || defined(__ia64__)
+ /* The word size of the default bfd target. */
+ #define BFD_DEFAULT_TARGET_SIZE 64
+ #define BFD_HOST_64BIT_LONG 1
+diff -ur gnu.orig/usr.bin/binutils/libiberty/config.h gnu/usr.bin/binutils/libiberty/config.h
+--- gnu.orig/usr.bin/binutils/libiberty/config.h 2004-06-16 08:09:41 +0100
++++ gnu/usr.bin/binutils/libiberty/config.h 2006-10-10 20:30:34 +0100
+@@ -7,7 +7,7 @@
+
+
+ /* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
+-#ifdef __sparc64__
++#ifdef __sparc__
+ #define BYTEORDER 4321
+ #else
+ #define BYTEORDER 1234
+@@ -325,7 +325,7 @@
+
+ /* Define if the host machine stores words of multi-word integers in
+ big-endian order. */
+-#ifdef __sparc64__
++#ifdef __sparc__
+ #define HOST_WORDS_BIG_ENDIAN 1
+ #endif
+
+@@ -366,7 +366,7 @@
+ #define TIME_WITH_SYS_TIME 1
+
+ /* whether byteorder is bigendian */
+-#ifdef __sparc64__
++#ifdef __sparc__
+ #define WORDS_BIGENDIAN 1
+ #endif
+
+diff -ur gnu.orig/usr.bin/cc/cc_tools/auto-host.h gnu/usr.bin/cc/cc_tools/auto-host.h
+--- gnu.orig/usr.bin/cc/cc_tools/auto-host.h 2004-07-28 06:27:20 +0100
++++ gnu/usr.bin/cc/cc_tools/auto-host.h 2006-10-10 20:31:36 +0100
+@@ -526,7 +526,7 @@
+ #if defined(__i386__) || defined(__powerpc__) || defined(__strongarm__)
+ /* The number of bytes in type long */
+ # define SIZEOF_LONG SIZEOF_INT
+-#elif defined(__alpha__) || defined(__sparc64__) || defined(__ia64__) || defined(__amd64__)
++#elif defined(__alpha__) || (defined(__sparc__) && defined(__arch64__)) || defined(__ia64__) || defined(__amd64__)
+ # define SIZEOF_LONG SIZEOF_LONG_LONG
+ #else
+ # error "I don't know what arch this is."
diff --git a/sys-freebsd/freebsd-contrib/freebsd-contrib-6.2_beta2.ebuild b/sys-freebsd/freebsd-contrib/freebsd-contrib-6.2_beta2.ebuild
index df0ca9b7ae1a..6caf6715b68d 100644
--- a/sys-freebsd/freebsd-contrib/freebsd-contrib-6.2_beta2.ebuild
+++ b/sys-freebsd/freebsd-contrib/freebsd-contrib-6.2_beta2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-contrib/freebsd-contrib-6.2_beta2.ebuild,v 1.1 2006/10/05 09:08:08 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-contrib/freebsd-contrib-6.2_beta2.ebuild,v 1.2 2006/10/17 10:09:37 uberlord Exp $
inherit bsdmk freebsd flag-o-matic
@@ -8,7 +8,7 @@ GCC="freebsd-gcc-3.4.2"
DESCRIPTION="Contributed sources for FreeBSD."
SLOT="0"
-KEYWORDS="~x86-fbsd"
+KEYWORDS="~sparc-fbsd x86-fbsd"
LICENSE="BSD GPL-2 as-is"
IUSE="ssl kerberos"
@@ -41,7 +41,8 @@ REMOVE_SUBDIRS="lib/libg2c lib/libgcc lib/libgcc_r lib/libgcov lib/libiberty
usr.bin/gzip usr.bin/man usr.bin/rcs usr.bin/sdiff usr.bin/send-pr
usr.bin/tar usr.bin/texinfo"
-PATCHES="${FILESDIR}/${PN}-5.3-lib_csu-makefile.patch"
+PATCHES="${FILESDIR}/${PN}-5.3-lib_csu-makefile.patch
+ ${FILESDIR}/${PN}-6.2-sparc64.patch"
src_install() {
freebsd_src_install