From e3ea454e0b2634e99f1d2a9d663b2fabece1d239 Mon Sep 17 00:00:00 2001 From: Christian Heim Date: Sat, 10 Nov 2007 13:06:35 +0000 Subject: Hopefully fixing compilation for ppc64-32ul. svn path=/; revision=365 --- bugfixes/dev-libs/klibc/Manifest | 3 +- .../dev-libs/klibc/files/klibc-1.5-nostrip.patch | 1 + bugfixes/dev-libs/klibc/klibc-1.5.ebuild | 62 +++++++++------------- 3 files changed, 27 insertions(+), 39 deletions(-) create mode 100644 bugfixes/dev-libs/klibc/files/klibc-1.5-nostrip.patch diff --git a/bugfixes/dev-libs/klibc/Manifest b/bugfixes/dev-libs/klibc/Manifest index 83dd814..34bd281 100644 --- a/bugfixes/dev-libs/klibc/Manifest +++ b/bugfixes/dev-libs/klibc/Manifest @@ -1,5 +1,6 @@ AUX klibc-1.4.11-interp-flags.patch 494 RMD160 71081dc5eae8fff2adc43873f6b447f9b37a2432 SHA1 ecdea82ccbd77c63f8a65443fd64b65325869627 SHA256 ef8c05d059bc0185b8b68ea42e660fa13ddb55e9653b10fbfdabd77dea7abe2a AUX klibc-1.4.9-mips32.patch 632 RMD160 7f9769770208f6b5e44df88f22a682b29acbad3b SHA1 a5f72d885fc191b1f6825cd525ef78472cf2d431 SHA256 546ca8b913721671767fc0c119d694ddaead20f259738ea822a295e20e4f22d3 +AUX klibc-1.5-nostrip.patch 1 RMD160 c0da025038ed83c687ddc430da9846ecb97f3998 SHA1 adc83b19e793491b1c6ea0fd8b46cd9f32e592fc SHA256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b AUX klibc-1.5-sigaction.patch 928 RMD160 00d04da5dfdf667d2ff46491212d98047adac925 SHA1 c996533744af2256c75fb7ab715a3942bf3c2768 SHA256 bd50f00b36fb4425c6921224bde5862c05fa6271c984bfadd94284cf3f5973e5 DIST klibc-1.5.tar.bz2 487483 RMD160 9329426693c39eca2c357987bfa37656570b9d35 SHA1 254444bcc3f42855ec69b3a2497d5e6162e2fe2f SHA256 27000ba4bc73a5977502b27d7036df24dd6ab94a1c33b8f5d6d54ba62772f0c7 -EBUILD klibc-1.5.ebuild 3815 RMD160 0066a18193bd53a93bb22f9d40ffae7f4c2105de SHA1 c28feaccbcdbd81a5e2b24bb4e07ec530d466876 SHA256 a2c41ae539d225479bae718f11f545eddee6170589c085caa9e87918550aa888 +EBUILD klibc-1.5.ebuild 3222 RMD160 9a566b4297546cbebc6ffcd111508e5d2ac27613 SHA1 37e00624f1ed6abaa7fa5f08e5f3e3aa432654f2 SHA256 74330b7470d3e2d37248a6860fcb9110cc932afbeec1edd5fa28b5599b525796 diff --git a/bugfixes/dev-libs/klibc/files/klibc-1.5-nostrip.patch b/bugfixes/dev-libs/klibc/files/klibc-1.5-nostrip.patch new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/bugfixes/dev-libs/klibc/files/klibc-1.5-nostrip.patch @@ -0,0 +1 @@ + diff --git a/bugfixes/dev-libs/klibc/klibc-1.5.ebuild b/bugfixes/dev-libs/klibc/klibc-1.5.ebuild index a27e537..7c51509 100644 --- a/bugfixes/dev-libs/klibc/klibc-1.5.ebuild +++ b/bugfixes/dev-libs/klibc/klibc-1.5.ebuild @@ -1,8 +1,8 @@ # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/klibc/klibc-1.5.ebuild,v 1.2 2007/06/13 18:10:34 phreak Exp $ +# $Header: $ -inherit eutils linux-info multilib toolchain-funcs +inherit eutils linux-info multilib toolchain-funcs linux-mod DESCRIPTION="A minimal libc subset for use with initramfs." HOMEPAGE="http://www.zytor.com/mailman/listinfo/klibc" @@ -26,77 +26,62 @@ src_unpack() { cd "${S}" # Symlink /usr/src/linux to ${S}/linux - ln -snf ${KV_DIR} linux + ln -snf "${KV_DIR}" linux # Build interp.o with EXTRA_KLIBCAFLAGS (.S source) epatch "${FILESDIR}"/${PN}-1.4.11-interp-flags.patch - # klibc detects mips64 systems as having 64bit userland - # Force them to 32bit userlands instead - # Do we really need this still, as klibc uses tc-arch-kernel now ? -# if use mips ; then -# ! use n32 && epatch "${FILESDIR}"/${PN}-1.4.9-mips32.patch -# fi - # Fixes for sparc and ppc epatch "${FILESDIR}"/${P}-sigaction.patch -} -tc-detect-arch() { - tc-arch-kernel | sed -e "s,powerpc,ppc" -e "s,sparc(.*),sparc" + # Prevent klibc from prestripping stuff +# epatch "${FILESDIR}"/${P}-nostrip.patch } src_compile() { - local myconf="" - - # sparc kernel bitness (32 vs. 64) doesn't matter, as userland is always - # compiled w/ 32 -- as pointed out by gustavoz - - # tc-arch-kernel gets the UL issue on ppc64 right, but klibc is still back - # before 2.6.15, when ppc/ppc64 got renamed to powerpc. + local myargs [[ ${KV_DIR} != "${KV_OUT_DIR}" ]] && \ - myconf="KLIBCKERNELOBJ='${KV_OUT_DIR}/' KBUILD_SRC='1'" + myargs="KLIBCKERNELOBJ='${KV_OUT_DIR}/' KBUILD_SRC='1'" - use debug && myconf="${myargs} V=1" + use debug && myargs="${myargs} V=1" - if tc-is-cross-compiler ; then - myconf="CROSS_COMPILE=${CTARGET}-" - fi - - emake KLIBCARCH=$(tc-detect-arch) \ + emake \ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \ EXTRA_KLIBCLDFLAGS="-z,noexecstack" \ - libdir="/usr/$(get_libdir)" \ + HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" \ + INSTALLDIR="/usr/$(get_libdir)/klibc" \ + KLIBCARCH=$(tc-arch-kernel) \ SHLIBDIR="/$(get_libdir)" \ + libdir="/usr/$(get_libdir)" \ mandir="/usr/share/man" \ - INSTALLDIR="/usr/$(get_libdir)/klibc" \ - ${myconf} || die "Compile failed!" + ${myargs} || die "Compile failed!" } src_install() { - local myconf="" klibc_prefix="" + local myargs klibc_prefix [[ ${KV_DIR} != "${KV_OUT_DIR}" ]] && \ - myconf="KLIBCKERNELOBJ='${KV_OUT_DIR}/' KBUILD_SRC='1'" + myargs="KLIBCKERNELOBJ='${KV_OUT_DIR}/' KBUILD_SRC='1'" - use debug && myconf="${myargs} V=1" + use debug && myargs="${myargs} V=1" if tc-is-cross-compiler ; then - klibc_prefix=$("${S}/klcc/${CTARGET}-klcc" -print-klibc-prefix) - myconf="CROSS_COMPILE=${CTARGET}-" + klibc_prefix=$("${S}/klcc/$(tc-arch-kernel)-klcc" -print-klibc-prefix) else klibc_prefix=$("${S}/klcc/klcc" -print-klibc-prefix) fi - emake KLIBCARCH=$(tc-detect-arch) \ + emake \ + HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" \ EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \ EXTRA_KLIBCLDFLAGS="-z,noexecstack" \ + INSTALLDIR="/usr/$(get_libdir)/klibc" \ INSTALLROOT="${D}" \ - libdir="/usr/$(get_libdir)" \ + KLIBCARCH=$(tc-arch-kernel) \ SHLIBDIR="/$(get_libdir)" \ + libdir="/usr/$(get_libdir)" \ mandir="/usr/share/man" \ - INSTALLDIR="/usr/$(get_libdir)/klibc" \ ${myargs} \ install || die "Install failed!" @@ -111,6 +96,7 @@ src_install() { # Actually I have no idea, why the includes have those weird-ass permissions # on a particular system, might be due to inherited permissions from parent # directory + find "${D}"/usr/$(get_libdir)/klibc/include | xargs chmod o+rX # Hardlinks becoming copies -- cgit v1.2.3-65-gdbad