Revision
74107
Author
jmr@macports.org
Date
2010-12-04 13:55:57 -0800 (Sat, 04 Dec 2010)

Log Message

libffi: fix building for ppc on 10.6 (#21401)

Modified Paths

Added Paths

Diff

Modified: trunk/dports/devel/libffi/Portfile (74106 => 74107)


--- trunk/dports/devel/libffi/Portfile	2010-12-04 21:45:32 UTC (rev 74106)
+++ trunk/dports/devel/libffi/Portfile	2010-12-04 21:55:57 UTC (rev 74107)
@@ -38,6 +38,11 @@
 }
 set merger_dont_diff ${prefix}/include/ffitarget.h
 
+platform darwin 10 {
+    # ticket #21401
+    patchfiles-append ppc_FDE_Encoding.diff
+}
+
 livecheck.url       ${homepage}
 livecheck.type      regex
 livecheck.regex     ${name}-(\\d+(?:\\.\\d+)*)

Added: trunk/dports/devel/libffi/files/ppc_FDE_Encoding.diff (0 => 74107)


--- trunk/dports/devel/libffi/files/ppc_FDE_Encoding.diff	                        (rev 0)
+++ trunk/dports/devel/libffi/files/ppc_FDE_Encoding.diff	2010-12-04 21:55:57 UTC (rev 74107)
@@ -0,0 +1,44 @@
+diff --git src/powerpc/darwin.S src/powerpc/darwin.S
+--- src/powerpc/darwin.S
++++ src/powerpc/darwin.S
+@@ -191,17 +191,17 @@ EH_frame1:
+ LSCIE1:
+ 	.long	0x0	; CIE Identifier Tag
+ 	.byte	0x1	; CIE Version
+ 	.ascii	"zR\0"	; CIE Augmentation
+ 	.byte	0x1	; uleb128 0x1; CIE Code Alignment Factor
+ 	.byte	0x7c	; sleb128 -4; CIE Data Alignment Factor
+ 	.byte	0x41	; CIE RA Column
+ 	.byte	0x1	; uleb128 0x1; Augmentation size
+-	.byte	0x90	; FDE Encoding (indirect pcrel)
++	.byte	0x10	; FDE Encoding (pcrel)
+ 	.byte	0xc	; DW_CFA_def_cfa
+ 	.byte	0x1	; uleb128 0x1
+ 	.byte	0x0	; uleb128 0x0
+ 	.align	LOG2_GPR_BYTES
+ LECIE1:
+ .globl _ffi_call_DARWIN.eh
+ _ffi_call_DARWIN.eh:
+ LSFDE1:
+diff --git src/powerpc/darwin_closure.S src/powerpc/darwin_closure.S
+--- src/powerpc/darwin_closure.S
++++ src/powerpc/darwin_closure.S
+@@ -253,17 +253,17 @@ EH_frame1:
+ LSCIE1:
+ 	.long	0x0	; CIE Identifier Tag
+ 	.byte	0x1	; CIE Version
+ 	.ascii	"zR\0"	; CIE Augmentation
+ 	.byte	0x1	; uleb128 0x1; CIE Code Alignment Factor
+ 	.byte	0x7c	; sleb128 -4; CIE Data Alignment Factor
+ 	.byte	0x41	; CIE RA Column
+ 	.byte	0x1	; uleb128 0x1; Augmentation size
+-	.byte	0x90	; FDE Encoding (indirect pcrel)
++	.byte	0x10	; FDE Encoding (pcrel)
+ 	.byte	0xc	; DW_CFA_def_cfa
+ 	.byte	0x1	; uleb128 0x1
+ 	.byte	0x0	; uleb128 0x0
+ 	.align	LOG2_GPR_BYTES
+ LECIE1:
+ .globl _ffi_closure_ASM.eh
+ _ffi_closure_ASM.eh:
+ LSFDE1: