[142878] trunk/dports/devel/libunwind

jeremyhu at macports.org jeremyhu at macports.org
Sat Dec 12 07:37:09 PST 2015


Revision: 142878
          https://trac.macports.org/changeset/142878
Author:   jeremyhu at macports.org
Date:     2015-11-25 07:07:16 -0800 (Wed, 25 Nov 2015)
Log Message:
-----------
libunwind: Workaround build failure seen with clang-3.4

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

Added Paths:
-----------
    trunk/dports/devel/libunwind/files/clang-3.4-workaround.patch

Modified: trunk/dports/devel/libunwind/Portfile
===================================================================
--- trunk/dports/devel/libunwind/Portfile	2015-11-25 12:40:37 UTC (rev 142877)
+++ trunk/dports/devel/libunwind/Portfile	2015-11-25 15:07:16 UTC (rev 142878)
@@ -40,7 +40,8 @@
     0006-MacPorts-Makefile.patch \
     0007-libunwind-Fix-fallback-implementation-of-_dyld_find_.patch \
     0008-Define-__STDC_FORMAT_MACROS-to-bring-in-format-macro.patch \
-    0009-libunwind-Remove-unused-includes.patch
+    0009-libunwind-Remove-unused-includes.patch \
+    clang-3.4-workaround.patch
 
 post-patch {
     if {${os.major} < 9} {
@@ -75,9 +76,6 @@
     # https://trac.macports.org/ticket/49779#comment:3
     compiler.blacklist-append {clang < 100} *gcc-4.\[0123456\]
 
-    # Builds with 3.3 and 3.5+ but not 3.4.  Likely due to a regression in 3.4 that we should address.
-    compiler.blacklist-append macports-clang-3.4
-
     variant universal   {}
 
     set cxx_stdlibflags {}

Added: trunk/dports/devel/libunwind/files/clang-3.4-workaround.patch
===================================================================
--- trunk/dports/devel/libunwind/files/clang-3.4-workaround.patch	                        (rev 0)
+++ trunk/dports/devel/libunwind/files/clang-3.4-workaround.patch	2015-11-25 15:07:16 UTC (rev 142878)
@@ -0,0 +1,36 @@
+diff --git a/src/Registers.hpp b/src/Registers.hpp
+index 36653ef..ad8b906 100644
+--- a/src/Registers.hpp
++++ b/src/Registers.hpp
+@@ -486,7 +486,6 @@ public:
+   uint64_t  getIP() const         { return _registers.__srr0; }
+   void      setIP(uint32_t value) { _registers.__srr0 = value; }
+ 
+-private:
+   struct ppc_thread_state_t {
+     unsigned int __srr0; /* Instruction address register (PC) */
+     unsigned int __srr1; /* Machine state register (supervisor) */
+@@ -537,6 +536,7 @@ private:
+     unsigned int __fpscr;     /* floating point status register */
+   };
+ 
++private:
+   ppc_thread_state_t _registers;
+   ppc_float_state_t  _floatRegisters;
+   v128               _vectorRegisters[32]; // offset 424
+@@ -1052,7 +1052,6 @@ public:
+   uint64_t  getFP() const         { return _registers.__fp; }
+   void      setFP(uint64_t value) { _registers.__fp = value; }
+ 
+-private:
+   struct GPRs {
+     uint64_t __x[29]; // x0-x28
+     uint64_t __fp;    // Frame pointer x29
+@@ -1062,6 +1061,7 @@ private:
+     uint64_t padding; // 16-byte align
+   };
+ 
++private:
+   GPRs    _registers;
+   double  _vectorHalfRegisters[32];
+   // Currently only the lower double in 128-bit vectore registers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20151212/17ec02d7/attachment.html>


More information about the macports-changes mailing list