<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>