diff options
author | Roy Marples <uberlord@gentoo.org> | 2006-10-17 10:09:37 +0000 |
---|---|---|
committer | Roy Marples <uberlord@gentoo.org> | 2006-10-17 10:09:37 +0000 |
commit | b3be57d3f35f3ae2bb35e01ee592ff30d75d4b26 (patch) | |
tree | 530ba9169583c33357dbad9ecaba63b832544bee /sys-freebsd | |
parent | Fix use_with noutempter. (diff) | |
download | gentoo-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')
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 |