diff options
Diffstat (limited to 'sys-devel')
3 files changed, 42 insertions, 22 deletions
diff --git a/sys-devel/binutils-apple/ChangeLog b/sys-devel/binutils-apple/ChangeLog index 21a43e7c1aa7..9896b894f504 100644 --- a/sys-devel/binutils-apple/ChangeLog +++ b/sys-devel/binutils-apple/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-devel/binutils-apple # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-apple/ChangeLog,v 1.7 2010/03/21 19:33:06 grobian Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-apple/ChangeLog,v 1.8 2010/03/21 20:41:45 grobian Exp $ + + 21 Mar 2010; Fabian Groffen <grobian@gentoo.org> + binutils-apple-3.2-r1.ebuild, + +files/ld64-95.2.12-darwin8-no-mlong-branch-warning.patch: + Add patch to suppress annoying -mlong-branch warning that we totally can't + do anything about *binutils-apple-3.2-r1 (21 Mar 2010) diff --git a/sys-devel/binutils-apple/binutils-apple-3.2-r1.ebuild b/sys-devel/binutils-apple/binutils-apple-3.2-r1.ebuild index c36246d5704f..32a35c65c047 100644 --- a/sys-devel/binutils-apple/binutils-apple-3.2-r1.ebuild +++ b/sys-devel/binutils-apple/binutils-apple-3.2-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-apple/binutils-apple-3.2-r1.ebuild,v 1.1 2010/03/21 19:33:06 grobian Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-apple/binutils-apple-3.2-r1.ebuild,v 1.2 2010/03/21 20:41:45 grobian Exp $ EAPI="3" @@ -53,7 +53,17 @@ fi S=${WORKDIR} -prepare_ld64() { +src_prepare() { + cd "${S}"/${CCTOOLS} + epatch "${FILESDIR}"/${PN}-3.1.1-as.patch + epatch "${FILESDIR}"/${PN}-3.1.1-as-dir.patch + epatch "${FILESDIR}"/${PN}-3.1.1-ranlib.patch + epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch + epatch "${FILESDIR}"/${PN}-3.1.1-nmedit.patch + epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch + epatch "${FILESDIR}"/${PN}-3.1.1-no-oss-dir.patch + epatch "${FILESDIR}"/${P}-armv7-defines.patch + cd "${S}"/${LD64}/src cp "${FILESDIR}"/${LD64}-Makefile Makefile @@ -65,7 +75,14 @@ prepare_ld64() { echo '' > linker_opts echo "char ldVersionString[] = ${VER_STR};" > version.cpp + epatch "${WORKDIR}"/ld64-unwind/${LD64}-unlibunwind.patch + [[ ${CHOST} == powerpc*-darwin* ]] && \ + epatch "${FILESDIR}"/${LD64}-darwin8-no-mlong-branch-warning.patch + # clean up test suite + cd "${S}"/${LD64} + epatch "${FILESDIR}"/${PN}-3.1.1-testsuite.patch + cd "${S}"/${LD64}/unit-tests/test-cases local c @@ -89,25 +106,7 @@ prepare_ld64() { # TODO no idea what goes wrong here ((++c)); rm -rf dwarf-debug-notes; - elog "Deleted $c tests that were bound to fail" -} - -src_prepare() { - prepare_ld64 - - cd "${S}"/${CCTOOLS} - epatch "${FILESDIR}"/${PN}-3.1.1-as.patch - epatch "${FILESDIR}"/${PN}-3.1.1-as-dir.patch - epatch "${FILESDIR}"/${PN}-3.1.1-ranlib.patch - epatch "${FILESDIR}"/${PN}-3.1.1-libtool-ranlib.patch - epatch "${FILESDIR}"/${PN}-3.1.1-nmedit.patch - epatch "${FILESDIR}"/${PN}-3.1.1-no-headers.patch - epatch "${FILESDIR}"/${PN}-3.1.1-no-oss-dir.patch - epatch "${FILESDIR}"/${P}-armv7-defines.patch - - cd "${S}"/${LD64} - epatch "${FILESDIR}"/${PN}-3.1.1-testsuite.patch - epatch "${WORKDIR}"/ld64-unwind/ld64-95.2.12-unlibunwind.patch + einfo "Deleted $c tests that were bound to fail" cd "${S}" ebegin "cleaning Makefiles from unwanted CFLAGS" diff --git a/sys-devel/binutils-apple/files/ld64-95.2.12-darwin8-no-mlong-branch-warning.patch b/sys-devel/binutils-apple/files/ld64-95.2.12-darwin8-no-mlong-branch-warning.patch new file mode 100644 index 000000000000..790fb97339c5 --- /dev/null +++ b/sys-devel/binutils-apple/files/ld64-95.2.12-darwin8-no-mlong-branch-warning.patch @@ -0,0 +1,15 @@ +The whole system (/usr/bin/crt0.o for example) is long-branch compiled, +so *any* linkage operation causes this warning to be raised. Don't do +it. + +--- ld/MachOReaderRelocatable.hpp ++++ ld/MachOReaderRelocatable.hpp +@@ -4165,8 +4165,6 @@ + if ( nextReloc->r_type() != PPC_RELOC_PAIR ) { + throw "PPC_RELOC_JBSR missing following pair"; + } +- if ( !fHasLongBranchStubs ) +- warning("object file compiled with -mlong-branch which is no longer needed. To remove this warning, recompile without -mlong-branch: %s", fPath); + fHasLongBranchStubs = true; + result = true; + if ( reloc->r_extern() ) { |