diff options
author | Jeremy Huddleston <eradicator@gentoo.org> | 2004-12-13 10:10:46 +0000 |
---|---|---|
committer | Jeremy Huddleston <eradicator@gentoo.org> | 2004-12-13 10:10:46 +0000 |
commit | 89089634d085c3bf01d3b3945e94529d0fe0dc23 (patch) | |
tree | 53e9e2a652d67c9a7f187e048647ce1722cda4a6 /sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild | |
parent | Stable for x86 (Manifest recommit) (diff) | |
download | gentoo-2-89089634d085c3bf01d3b3945e94529d0fe0dc23.tar.gz gentoo-2-89089634d085c3bf01d3b3945e94529d0fe0dc23.tar.bz2 gentoo-2-89089634d085c3bf01d3b3945e94529d0fe0dc23.zip |
Added ~sparc to glibc-2.3.4.20040808-r1, but it is masked in the sparc32 and sparc64 PROFILE_ARCHs. Older versions have v9a assembly code that doesn't work with newer binutils. Glibc also isn't quite smart enough to realize that it has v9a assembly, so if it uses the gcc default (v9), it will fail, so we force v9a as flags. I also added the updated logic to 2.3.4.20041102, but as I haven't tested it yet, it hasn't been marked.
Diffstat (limited to 'sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild')
-rw-r--r-- | sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild b/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild index da4247d5604b..ee3c2fd37f92 100644 --- a/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild +++ b/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild,v 1.21 2004/12/07 15:17:38 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild,v 1.22 2004/12/13 10:10:46 eradicator Exp $ inherit eutils flag-o-matic gcc versionator @@ -50,7 +50,9 @@ LICENSE="LGPL-2" [[ ${CTARGET} != ${CHOST} ]] \ && SLOT="${CTARGET}-2.2" \ || SLOT="2.2" -KEYWORDS="x86 amd64 hppa ppc64 ~ppc -mips" +#~sparc: This is only used by the sparc64-multilib PROFILE_ARCH as versions +# after ~2.3.3.20040420 break blackdown-jdk on sparc. +KEYWORDS="x86 amd64 hppa ppc64 ~ppc -mips ~sparc" IUSE="nls pic build nptl erandom hardened multilib debug userlocales" RESTRICT="nostrip" # we'll handle stripping ourself #46186 @@ -132,6 +134,26 @@ setup_flags() { export CTARGET="sparcv9-unknown-linux-gnu" fi fi + + if [ "${PROFILE_ARCH}" = "sparc64-multilib" ]; then + # glibc isn't too smart about guessing our flags. It + # also will default to -xarch=v9, but assembly in glibc + # needs to be v9a or greater... + if is-flag "-mcpu=ultrasparc3"; then + append-flags "-Wa,-xarch=v9b" + export ASFLAGS="${ASFLAGS} -Wa,-xarch=v9b" + + # Change CHOST to include us3 assembly + export CHOST="sparc64b-unknown-linux-gnu" + else + append-flags "-Wa,-xarch=v9a" + export ASFLAGS="${ASFLAGS} -Wa,-xarch=v9a" + fi + + # Get rid of flags known to fail + replace-flags "-mvis" "" + fi + fi if [ "`gcc-major-version`" -ge "3" -a "`gcc-minor-version`" -ge "4" ]; then |