[100514] trunk/dports/devel/ld64

jeremyhu at macports.org jeremyhu at macports.org
Fri Dec 14 08:57:41 PST 2012


Revision: 100514
          https://trac.macports.org/changeset/100514
Author:   jeremyhu at macports.org
Date:     2012-12-14 08:57:41 -0800 (Fri, 14 Dec 2012)
Log Message:
-----------
ld64: Fix logic for ppc branch islands (#37300).

Modified Paths:
--------------
    trunk/dports/devel/ld64/Portfile

Added Paths:
-----------
    trunk/dports/devel/ld64/files/ld64-97-ppc-branch-island.patch

Modified: trunk/dports/devel/ld64/Portfile
===================================================================
--- trunk/dports/devel/ld64/Portfile	2012-12-14 16:50:25 UTC (rev 100513)
+++ trunk/dports/devel/ld64/Portfile	2012-12-14 16:57:41 UTC (rev 100514)
@@ -70,7 +70,7 @@
     # XCode 3.2.6
     # 127.2 should work for powerpc, but it will require some build fixes.
     version             97.17
-    revision            1
+    revision            2
     checksums           rmd160  d52df7d7f741c8bedd29cbac73dbb9db992b4795 \
                         sha256  02bd46af0809eaa415d096d7d41c3e8e7d80f7d8d181840866fb87f036b4e089
     supported_archs     x86_64 i386 ppc
@@ -78,7 +78,7 @@
     set makefile	"Makefile-97"
 
     patchfiles-delete   ld64-133-no-CrashReporterClient.h.patch
-    patchfiles-append   ld64-97-no-LTO.patch
+    patchfiles-append   ld64-97-no-LTO.patch ld64-97-ppc-branch-island.patch
 } elseif {${os.major} < 11} {
     # XCode 4.2
     # This was the last ld64 release that supported linking ppc executables.

Added: trunk/dports/devel/ld64/files/ld64-97-ppc-branch-island.patch
===================================================================
--- trunk/dports/devel/ld64/files/ld64-97-ppc-branch-island.patch	                        (rev 0)
+++ trunk/dports/devel/ld64/files/ld64-97-ppc-branch-island.patch	2012-12-14 16:57:41 UTC (rev 100514)
@@ -0,0 +1,20 @@
+--- src/ld/MachOWriterExecutable.hpp	2010-04-20 20:41:08.000000000 +0200
++++ src/ld/MachOWriterExecutable.hpp	2012-12-13 20:08:24.000000000 +0100
+@@ -10999,7 +10999,7 @@
+ 	const int64_t bl_sixteenMegLimit = 0x00FFFFFF;
+ 	if ( fTarget.getContentType() == ObjectFile::Atom::kBranchIsland ) {
+ 		displacement = getFinalTargetAdress() - this->getAddress();
+-		if ( (displacement > bl_sixteenMegLimit) && (displacement < (-bl_sixteenMegLimit)) ) {
++		if ( (displacement > bl_sixteenMegLimit) || (displacement < (-bl_sixteenMegLimit)) ) {
+ 			displacement = fTarget.getAddress() - this->getAddress();
+ 		}
+ 	}
+@@ -11017,7 +11017,7 @@
+ 	const int64_t bl_sixteenMegLimit = 0x00FFFFFF;
+ 	if ( fTarget.getContentType() == ObjectFile::Atom::kBranchIsland ) {
+ 		displacement = getFinalTargetAdress() - this->getAddress();
+-		if ( (displacement > bl_sixteenMegLimit) && (displacement < (-bl_sixteenMegLimit)) ) {
++		if ( (displacement > bl_sixteenMegLimit) || (displacement < (-bl_sixteenMegLimit)) ) {
+ 			displacement = fTarget.getAddress() - this->getAddress();
+ 		}
+ 	}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20121214/b0862065/attachment.html>


More information about the macports-changes mailing list