[135226] trunk/dports/devel/ld64
jeremyhu at macports.org
jeremyhu at macports.org
Sun Apr 19 13:06:12 PDT 2015
Revision: 135226
https://trac.macports.org/changeset/135226
Author: jeremyhu at macports.org
Date: 2015-04-19 13:06:11 -0700 (Sun, 19 Apr 2015)
Log Message:
-----------
ld64: Fix a few Leopard link issues, and prefer llvm-3.3 for now on Leopard since 3.4 has issues compiling with Leopard's gcc-4.2
Modified Paths:
--------------
trunk/dports/devel/ld64/Portfile
Added Paths:
-----------
trunk/dports/devel/ld64/files/PR-12057707.patch
trunk/dports/devel/ld64/files/PR-13282463.patch
Modified: trunk/dports/devel/ld64/Portfile
===================================================================
--- trunk/dports/devel/ld64/Portfile 2015-04-19 19:55:15 UTC (rev 135225)
+++ trunk/dports/devel/ld64/Portfile 2015-04-19 20:06:11 UTC (rev 135226)
@@ -55,7 +55,7 @@
# XCode 4.2
# This was the last ld64 release that supported linking ppc executables.
version 127.2
- revision 1
+ revision 2
checksums rmd160 8ee709341549a1944732daef6ebab7ef1acfcc6e \
sha256 97b75547b2bd761306ab3e15ae297f01e7ab9760b922bc657f4ef72e4e052142
@@ -72,13 +72,15 @@
ld64-127-ppc.patch \
ld64-97-no-Availability.h.patch \
PR-12249048.patch \
+ PR-12057707.patch \
+ PR-13282463.patch \
ld64-ppc-9610466.patch
}
subport ld64-136 {
# XCode 4.6
version 136
- revision 1
+ revision 2
checksums rmd160 4a2930ccdd398b63a108810e90293ab96dc154a0 \
sha256 99d6c4acb6d4cdf45772951dd2308222aa966763170137459a9d276674645d9e
@@ -91,6 +93,7 @@
ld64-133-no-CrashReporterClient.h.patch \
ld64-134-missing-include.patch \
ld64-136-i386-badAddress.patch \
+ PR-13282463.patch \
ld64-ppc-9610466.patch
if {${configure.cxx_stdlib} eq "libstdc++"} {
@@ -202,11 +205,13 @@
if {![variant_isset llvm33] && ![variant_isset llvm34] && ![variant_isset llvm35] && ![variant_isset llvm36] && ![variant_isset llvm37]} {
if {${os.major} >= 13} {
default_variants +llvm35
+ } elseif {${os.major} >= 10} {
+ default_variants +llvm34
} elseif {${os.major} >= 9} {
- default_variants +llvm34
+ default_variants +llvm33
}
- if {![variant_isset llvm34] && ![variant_isset llvm35] && ![variant_isset llvm36] && ![variant_isset llvm37] && ${os.major} >= 9} {
+ if {![variant_isset llvm33] && ![variant_isset llvm34] && ![variant_isset llvm35] && ![variant_isset llvm36] && ![variant_isset llvm37] && ${os.major} >= 9} {
ui_error "Your platform cannot be configured without LTO support in ld64. Please enable one of the llvmXX variants, and try again."
return -code error "Your platform cannot be configured without LTO support in ld64. Please enable one of the llvmXX variants, and try again."
}
Added: trunk/dports/devel/ld64/files/PR-12057707.patch
===================================================================
--- trunk/dports/devel/ld64/files/PR-12057707.patch (rev 0)
+++ trunk/dports/devel/ld64/files/PR-12057707.patch 2015-04-19 20:06:11 UTC (rev 135226)
@@ -0,0 +1,12 @@
+--- src/ld/OutputFile.cpp
++++ src/ld/OutputFile.cpp
+@@ -2983,7 +2983,8 @@ void OutputFile::addClassicRelocs(ld::Internal& state, ld::Internal::FinalSectio
+ // reference to global weak def needs weak binding in dynamic images
+ if ( (target->combine() == ld::Atom::combineByName)
+ && (target->definition() == ld::Atom::definitionRegular)
+- && (_options.outputKind() != Options::kStaticExecutable) ) {
++ && (_options.outputKind() != Options::kStaticExecutable)
++ && (_options.outputKind() != Options::kPreload) ) {
+ needsExternReloc = true;
+ }
+ else if ( _options.outputKind() == Options::kDynamicExecutable ) {
Added: trunk/dports/devel/ld64/files/PR-13282463.patch
===================================================================
--- trunk/dports/devel/ld64/files/PR-13282463.patch (rev 0)
+++ trunk/dports/devel/ld64/files/PR-13282463.patch 2015-04-19 20:06:11 UTC (rev 135226)
@@ -0,0 +1,25 @@
+--- src/ld/OutputFile.cpp
++++ src/ld/OutputFile.cpp
+@@ -2984,7 +2984,8 @@ void OutputFile::addClassicRelocs(ld::Internal& state, ld::Internal::FinalSectio
+ if ( (target->combine() == ld::Atom::combineByName)
+ && (target->definition() == ld::Atom::definitionRegular)
+ && (_options.outputKind() != Options::kStaticExecutable)
+- && (_options.outputKind() != Options::kPreload) ) {
++ && (_options.outputKind() != Options::kPreload)
++ && (atom != target) ) {
+ needsExternReloc = true;
+ }
+ else if ( _options.outputKind() == Options::kDynamicExecutable ) {
+--- src/ld/parsers/macho_relocatable_file.cpp
++++ src/ld/parsers/macho_relocatable_file.cpp
+@@ -2545,6 +2545,10 @@ void Parser<A>::addFixups(const SourceLocation& src, ld::Fixup::Kind setKind, co
+ // backing string in CFStrings should always be direct
+ addFixup(src, cl, firstKind, target.atom);
+ }
++ else if ( (src.atom == target.atom) && (target.atom->combine() == ld::Atom::combineByName) ) {
++ // reference to self should always be direct
++ addFixup(src, cl, firstKind, target.atom);
++ }
+ else {
+ // change direct fixup to by-name fixup
+ addFixup(src, cl, firstKind, false, target.atom->name());
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150419/5aa846c0/attachment.html>
More information about the macports-changes
mailing list