<pre style='margin:0'>
Jeremy Huddleston Sequoia (jeremyhu) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a4e66abf422086927ce0c9cc22d38b5930848fe8">https://github.com/macports/macports-ports/commit/a4e66abf422086927ce0c9cc22d38b5930848fe8</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new a4e66ab ld64: Address a failure when building boost on Leopard/i386
</span>a4e66ab is described below
<span style='display:block; white-space:pre;color:#808000;'>commit a4e66abf422086927ce0c9cc22d38b5930848fe8
</span>Author: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
AuthorDate: Fri Nov 4 16:25:54 2016 -0700
<span style='display:block; white-space:pre;color:#404040;'> ld64: Address a failure when building boost on Leopard/i386
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
</span>---
devel/ld64/Portfile | 14 +++++++++-----
devel/ld64/files/PR-29117886.patch | 32 ++++++++++++++++++++++++++++++++
2 files changed, 41 insertions(+), 5 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/ld64/Portfile b/devel/ld64/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2612e98..dcdd2ee 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/ld64/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/ld64/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -75,7 +75,7 @@ subport ld64-127 {
</span> # XCode 4.2
# This was the last ld64 release that supported linking ppc executables.
version 127.2
<span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 8
</span>
set makefile "Makefile-127"
set ld64_ver 127
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -91,13 +91,14 @@ subport ld64-127 {
</span> PR-12249048.patch \
PR-12057707.patch \
PR-13282463.patch \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ PR-29117886.patch \
</span> ld64-ppc-9610466.patch
}
subport ld64-136 {
# XCode 4.6
version 136
<span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 8
</span>
set makefile "Makefile-133"
set ld64_ver 136
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -108,6 +109,7 @@ subport ld64-136 {
</span> ld64-134-missing-include.patch \
ld64-136-i386-badAddress.patch \
PR-13282463.patch \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ PR-29117886.patch \
</span> ld64-ppc-9610466.patch
if {${configure.cxx_stdlib} eq "libstdc++"} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -125,7 +127,7 @@ subport ld64-136 {
</span> subport ld64-236 {
# XCode 5.1
version 236.3
<span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 6
</span>
# http://trac.macports.org/ticket/43737
# < 100 is a guess. Xcode 4.1 might work, so I'm leaving it as an option unless someone reports a failure.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -141,6 +143,7 @@ subport ld64-236 {
</span> ld64-136-i386-badAddress.patch \
PR-16935960.patch \
PR-16936488.patch \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ PR-29117886.patch \
</span> ld64-ppc-9610466.patch
if {${configure.cxx_stdlib} eq "libstdc++"} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -158,7 +161,7 @@ subport ld64-236 {
</span> subport ld64-latest {
# XCode 7.3.1
version 264.3.102
<span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 4
</span>
# https://trac.macports.org/ticket/43737
# https://trac.macports.org/ticket/50130
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -173,7 +176,8 @@ subport ld64-latest {
</span> ld64-134-missing-include.patch \
ld64-136-i386-badAddress.patch \
ld64-ppc-9610466.patch \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- PR-49393.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PR-49393.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PR-29117886.patch
</span>
depends_lib-append port:libcxx
configure.cxx_stdlib libc++
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/ld64/files/PR-29117886.patch b/devel/ld64/files/PR-29117886.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..686aae9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/ld64/files/PR-29117886.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,32 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/ld/OutputFile.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/ld/OutputFile.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4461,14 +4461,18 @@ void OutputFile::addClassicRelocs(ld::Internal& state, ld::Internal::FinalSectio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ assert(minusTarget->definition() != ld::Atom::definitionProxy);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ assert(target != NULL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ assert(target->definition() != ld::Atom::definitionProxy);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // make sure target is not global and weak
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if ( (target->scope() == ld::Atom::scopeGlobal) && (target->combine() == ld::Atom::combineByName)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && (atom->section().type() != ld::Section::typeCFI)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && (atom->section().type() != ld::Section::typeDtraceDOF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && (atom->section().type() != ld::Section::typeUnwindInfo)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && (minusTarget != target) ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // ok for __eh_frame and __uwind_info to use pointer diffs to global weak symbols
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- throwf("bad codegen, pointer diff in %s to global weak symbol %s", atom->name(), target->name());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // check if target of pointer-diff is global and weak
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ( (target->scope() == ld::Atom::scopeGlobal) && (target->combine() == ld::Atom::combineByName) && (target->definition() == ld::Atom::definitionRegular) ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ( (atom->section().type() == ld::Section::typeCFI)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || (atom->section().type() == ld::Section::typeDtraceDOF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ || (atom->section().type() == ld::Section::typeUnwindInfo) ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // ok for __eh_frame and __uwind_info to use pointer diffs to global weak symbols
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Have direct reference to weak-global. This should be an indrect reference
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ warning("direct access in %s to global weak symbol %s means the weak symbol cannot be overriden at runtime. "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "This was likely caused by different translation units being compiled with different visiblity settings.",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ atom->name(), target->name());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.10.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>
</pre>