summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/binutils-apple/ChangeLog8
-rw-r--r--sys-devel/binutils-apple/binutils-apple-3.2-r1.ebuild41
-rw-r--r--sys-devel/binutils-apple/files/ld64-95.2.12-darwin8-no-mlong-branch-warning.patch15
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() ) {