[132725] trunk/dports/devel/ld64

jeremyhu at macports.org jeremyhu at macports.org
Sun Feb 8 23:03:12 PST 2015


Revision: 132725
          https://trac.macports.org/changeset/132725
Author:   jeremyhu at macports.org
Date:     2015-02-08 23:03:12 -0800 (Sun, 08 Feb 2015)
Log Message:
-----------
ld64-127: Fix an issue building libgcc on ppc (#46801)

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

Added Paths:
-----------
    trunk/dports/devel/ld64/files/PR-12249048.patch
    trunk/dports/devel/ld64/files/ld64-ppc-9610466.patch

Modified: trunk/dports/devel/ld64/Portfile
===================================================================
--- trunk/dports/devel/ld64/Portfile	2015-02-09 03:39:20 UTC (rev 132724)
+++ trunk/dports/devel/ld64/Portfile	2015-02-09 07:03:12 UTC (rev 132725)
@@ -51,6 +51,7 @@
     # XCode 4.2
     # This was the last ld64 release that supported linking ppc executables.
     version             127.2
+    revision            1
 
     checksums           rmd160  8ee709341549a1944732daef6ebab7ef1acfcc6e \
                         sha256  97b75547b2bd761306ab3e15ae297f01e7ab9760b922bc657f4ef72e4e052142
@@ -65,12 +66,15 @@
         ld64-127-long-branch-warn.patch \
         ld64-127-cxx_initializer_order_and_sim.patch \
         ld64-127-ppc.patch \
-        ld64-97-no-Availability.h.patch
+        ld64-97-no-Availability.h.patch \
+        PR-12249048.patch \
+        ld64-ppc-9610466.patch
 }
 
 subport ld64-136 {
     # XCode 4.6
     version             136
+    revision            1
 
     checksums           rmd160  4a2930ccdd398b63a108810e90293ab96dc154a0 \
                         sha256  99d6c4acb6d4cdf45772951dd2308222aa966763170137459a9d276674645d9e
@@ -83,7 +87,8 @@
         ld64-133-no-CrashReporterClient.h.patch \
         ld64-134-missing-include.patch \
         ld64-136-i386-badAddress.patch \
-        ld64-136-hash_set.patch
+        ld64-136-hash_set.patch \
+        ld64-ppc-9610466.patch
 
     if {${os.major} <= 9} {
         pre-fetch {
@@ -96,6 +101,7 @@
 subport ld64-latest {
     # XCode 5.1
     version             236.3
+    revision            1
 
     checksums           rmd160  6a3f44aa9ae57a60d2cff5b3d47be7972ad83029 \
                         sha256  8ef36729b643201081ab45ebd8586ede8f9968bc17614b679a940faa82875ca6
@@ -113,7 +119,8 @@
         ld64-134-missing-include.patch \
         ld64-136-i386-badAddress.patch \
         PR-16935960.patch \
-        PR-16936488.patch
+        PR-16936488.patch \
+        ld64-ppc-9610466.patch
 
     if {${configure.cxx_stdlib} eq "libstdc++"} {
         patchfiles-append   ld64-236-hash_set.patch

Added: trunk/dports/devel/ld64/files/PR-12249048.patch
===================================================================
--- trunk/dports/devel/ld64/files/PR-12249048.patch	                        (rev 0)
+++ trunk/dports/devel/ld64/files/PR-12249048.patch	2015-02-09 07:03:12 UTC (rev 132725)
@@ -0,0 +1,13 @@
+--- src/ld/OutputFile.cpp
++++ src/ld/OutputFile.cpp
+@@ -873,8 +873,8 @@ void OutputFile::rangeCheckAbsolute32(int64_t displacement, ld::Internal& state,
+ 		//  .long _foo + 0x40000000
+ 		// so if _foo lays out to 0xC0000100, the first is ok, but the second is not.  
+ 		if ( (_options.architecture() == CPU_TYPE_ARM) || (_options.architecture() == CPU_TYPE_I386) ) {
+-			// Unlikely userland code does funky stuff like this, so warn for them, but not warn for -preload
+-			if ( _options.outputKind() != Options::kPreload ) {
++			// Unlikely userland code does funky stuff like this, so warn for them, but not warn for -preload or -static
++			if ( (_options.outputKind() != Options::kPreload) && (_options.outputKind() != Options::kStaticExecutable) ) {
+ 				warning("32-bit absolute address out of range (0x%08llX max is 4GB): from %s + 0x%08X (0x%08llX) to 0x%08llX", 
+ 						displacement, atom->name(), fixup->offsetInAtom, atom->finalAddress(), displacement);
+ 			}

Added: trunk/dports/devel/ld64/files/ld64-ppc-9610466.patch
===================================================================
--- trunk/dports/devel/ld64/files/ld64-ppc-9610466.patch	                        (rev 0)
+++ trunk/dports/devel/ld64/files/ld64-ppc-9610466.patch	2015-02-09 07:03:12 UTC (rev 132725)
@@ -0,0 +1,30 @@
+From df13124fb337260a9f30495159a7db89d7461e4d Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Sun, 8 Feb 2015 22:53:34 -0800
+Subject: [PATCH] Adjust out-of range error to be a warning on ppc
+
+AKA <rdar://problem/9610466> for ppc
+
+https://trac.macports.org/ticket/46801
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+---
+ src/ld/OutputFile.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ld/OutputFile.cpp b/src/ld/OutputFile.cpp
+index 6150b5c..27fdaad 100644
+--- src/ld/OutputFile.cpp
++++ src/ld/OutputFile.cpp
+@@ -625,7 +625,7 @@ void OutputFile::rangeCheckAbsolute32(int64_t displacement, ld::Internal& state,
+ 		// is encoded in mach-o the same as:
+ 		//  .long _foo + 0x40000000
+ 		// so if _foo lays out to 0xC0000100, the first is ok, but the second is not.  
+-		if ( (_options.architecture() == CPU_TYPE_ARM) || (_options.architecture() == CPU_TYPE_I386) ) {
++		if ( (_options.architecture() == CPU_TYPE_ARM) || (_options.architecture() == CPU_TYPE_I386) || (_options.architecture() == CPU_TYPE_POWERPC) ) {
+ 			// Unlikely userland code does funky stuff like this, so warn for them, but not warn for -preload or -static
+ 			if ( (_options.outputKind() != Options::kPreload) && (_options.outputKind() != Options::kStaticExecutable) ) {
+ 				warning("32-bit absolute address out of range (0x%08llX max is 4GB): from %s + 0x%08X (0x%08llX) to 0x%08llX", 
+-- 
+2.3.0
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150208/ffe26c6c/attachment.html>


More information about the macports-changes mailing list