Wed May 21 01:36:23 2014 UTC ()
Add .cfi_startprroc / .cfi_endproc annotation. XXX Note marking up the
frame yet. Hide ARM instructions when using DWARF EH.


(joerg)
diff -r1.31 -r1.32 pkgsrc/devel/libffi/distinfo
diff -r0 -r1.3 pkgsrc/devel/libffi/patches/patch-src_arm_sysv.S

cvs diff -r1.31 -r1.32 pkgsrc/devel/libffi/distinfo (expand / switch to unified diff)

--- pkgsrc/devel/libffi/distinfo 2014/02/11 07:21:28 1.31
+++ pkgsrc/devel/libffi/distinfo 2014/05/21 01:36:22 1.32
@@ -1,25 +1,26 @@ @@ -1,25 +1,26 @@
1$NetBSD: distinfo,v 1.31 2014/02/11 07:21:28 dholland Exp $ 1$NetBSD: distinfo,v 1.32 2014/05/21 01:36:22 joerg Exp $
2 2
3SHA1 (libffi-3.0.13.tar.gz) = f5230890dc0be42fb5c58fbf793da253155de106 3SHA1 (libffi-3.0.13.tar.gz) = f5230890dc0be42fb5c58fbf793da253155de106
4RMD160 (libffi-3.0.13.tar.gz) = 03f0627c0fcc800d38636258a2fab2d6bb8b6625 4RMD160 (libffi-3.0.13.tar.gz) = 03f0627c0fcc800d38636258a2fab2d6bb8b6625
5Size (libffi-3.0.13.tar.gz) = 845747 bytes 5Size (libffi-3.0.13.tar.gz) = 845747 bytes
6SHA1 (patch-Makefile.am) = 01109a0d5708835162a2d007a26decac5bb0bbac 6SHA1 (patch-Makefile.am) = 01109a0d5708835162a2d007a26decac5bb0bbac
7SHA1 (patch-aa) = 7b88ce9a55e6c0bc6e588909e1c14e4d7c79d60a 7SHA1 (patch-aa) = 7b88ce9a55e6c0bc6e588909e1c14e4d7c79d60a
8SHA1 (patch-ac) = f3c6324f4334d23e684b4eca25173a13be5d37eb 8SHA1 (patch-ac) = f3c6324f4334d23e684b4eca25173a13be5d37eb
9SHA1 (patch-ad) = 8901a00abe25422e3e35f321a5fb89311185fc0b 9SHA1 (patch-ad) = 8901a00abe25422e3e35f321a5fb89311185fc0b
10SHA1 (patch-ae) = 3d8cd3bcd834876f6e60ae519dca8c0b0ba0d4d1 10SHA1 (patch-ae) = 3d8cd3bcd834876f6e60ae519dca8c0b0ba0d4d1
11SHA1 (patch-af) = 2c7ca79ef980a2561333bf79a18df1ecb0bbb9f7 11SHA1 (patch-af) = 2c7ca79ef980a2561333bf79a18df1ecb0bbb9f7
12SHA1 (patch-ag) = 6333317170f6e92f89db966315276dcd8e3484f2 12SHA1 (patch-ag) = 6333317170f6e92f89db966315276dcd8e3484f2
13SHA1 (patch-ah) = e9580069ede90cd616da7bc230b28acbf5d204a6 13SHA1 (patch-ah) = e9580069ede90cd616da7bc230b28acbf5d204a6
14SHA1 (patch-ai) = f85a6cb64d4a9d7c3e56b47b7092fce10a744b5b 14SHA1 (patch-ai) = f85a6cb64d4a9d7c3e56b47b7092fce10a744b5b
15SHA1 (patch-aj) = d130b2b20b94ca26c70dcc46614e36c6d0ac9153 15SHA1 (patch-aj) = d130b2b20b94ca26c70dcc46614e36c6d0ac9153
16SHA1 (patch-configure.ac) = 080d79b5ada93c5073df7dd09c5131fcfe72ce86 16SHA1 (patch-configure.ac) = 080d79b5ada93c5073df7dd09c5131fcfe72ce86
17SHA1 (patch-fficonfig.h.in) = fd85fa767bc057c843ff71cc61bedfcff84def43 17SHA1 (patch-fficonfig.h.in) = fd85fa767bc057c843ff71cc61bedfcff84def43
 18SHA1 (patch-src_arm_sysv.S) = faf53358dbc48d1cf8f6a20030b365c8df346547
18SHA1 (patch-src_m88k_elfbsd.S) = fae3e425dcff3e924ef195eab165f9bbc6ec4077 19SHA1 (patch-src_m88k_elfbsd.S) = fae3e425dcff3e924ef195eab165f9bbc6ec4077
19SHA1 (patch-src_m88k_ffi.c) = e4b7382c3d6e253b8c1c6054150c530c21d018de 20SHA1 (patch-src_m88k_ffi.c) = e4b7382c3d6e253b8c1c6054150c530c21d018de
20SHA1 (patch-src_m88k_ffitarget.h) = e8479bc3aa876f5e6d52a4d578c5da88291c6646 21SHA1 (patch-src_m88k_ffitarget.h) = e8479bc3aa876f5e6d52a4d578c5da88291c6646
21SHA1 (patch-src_vax_elfbsd.S) = abf284bd1db086a12608b7243344af30e4a314ca 22SHA1 (patch-src_vax_elfbsd.S) = abf284bd1db086a12608b7243344af30e4a314ca
22SHA1 (patch-src_vax_ffi.c) = f47ced03388e9744afa44d6bb5e14d5f4285cfbf 23SHA1 (patch-src_vax_ffi.c) = f47ced03388e9744afa44d6bb5e14d5f4285cfbf
23SHA1 (patch-src_vax_ffitarget.h) = 388f3a58e37dd8af5c194b5be77a6ea6f9beef4b 24SHA1 (patch-src_vax_ffitarget.h) = 388f3a58e37dd8af5c194b5be77a6ea6f9beef4b
24SHA1 (patch-src_x86_ffi.c) = b9ac64a53a92de663a339212e22c1286fa41c1d5 25SHA1 (patch-src_x86_ffi.c) = b9ac64a53a92de663a339212e22c1286fa41c1d5
25SHA1 (patch-src_x86_win64.S) = 5b6836bae6c73743b925de4d11bc241c783bffd6 26SHA1 (patch-src_x86_win64.S) = 5b6836bae6c73743b925de4d11bc241c783bffd6

File Added: pkgsrc/devel/libffi/patches/patch-src_arm_sysv.S
$NetBSD: patch-src_arm_sysv.S,v 1.3 2014/05/21 01:36:23 joerg Exp $

--- src/arm/sysv.S.orig	2013-03-16 11:19:39.000000000 +0000
+++ src/arm/sysv.S
@@ -103,7 +103,7 @@
 #endif
 
 /* Conditionally compile unwinder directives.  */
-#ifdef __ARM_EABI__
+#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__)
 #define UNWIND
 #else
 #define UNWIND @
@@ -125,6 +125,7 @@
 	nop
 	.arm
 	UNWIND .fnstart
+	.cfi_startproc
 /* A hook to tell gdb that we've switched to ARM mode.  Also used to call
    directly from other local arm routines.  */
 #ifdef __APPLE__
@@ -144,6 +145,7 @@ _L__\name:
 	ENTRY(\name)
 #endif
 	UNWIND .fnstart
+        .cfi_startproc
 .endm
 #endif
 
@@ -175,6 +177,7 @@ ARM_FUNC_START ffi_call_SYSV
 	@ Save registers
         stmfd	sp!, {r0-r3, fp, lr}
 	UNWIND .save	{r0-r3, fp, lr}
+
 	mov	fp, sp
 
 	UNWIND .setfp	fp, sp
@@ -228,7 +231,7 @@ ARM_FUNC_START ffi_call_SYSV
 #if defined(__SOFTFP__) || defined(__ARM_EABI__)
 	cmpne	r3, #FFI_TYPE_DOUBLE
 #endif
-	stmeqia	r2, {r0, r1}
+	stmiaeq	r2, {r0, r1}
 
 #if !defined(__SOFTFP__) && !defined(__ARM_EABI__)
 	beq	LSYM(Lepilogue)
@@ -253,6 +256,7 @@ LSYM(Lepilogue):
 
 .ffi_call_SYSV_end:
 	UNWIND .fnend
+	.cfi_endproc
 #ifdef __ELF__
         .size    CNAME(ffi_call_SYSV),.ffi_call_SYSV_end-CNAME(ffi_call_SYSV)
 #endif
@@ -328,6 +332,7 @@ ARM_FUNC_START ffi_closure_SYSV
 
 .ffi_closure_SYSV_end:
 	UNWIND .fnend
+	.cfi_endproc
 #ifdef __ELF__
         .size    CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV)
 #endif
@@ -410,7 +415,7 @@ LSYM(Lbase_args):
 	beq	LSYM(Lepilogue_vfp)
 
 	cmp	r3, #FFI_TYPE_SINT64
-	stmeqia	r2, {r0, r1}
+	stmiaeq	r2, {r0, r1}
 	beq	LSYM(Lepilogue_vfp)
 
 	cmp	r3, #FFI_TYPE_FLOAT
@@ -430,6 +435,7 @@ LSYM(Lepilogue_vfp):
 
 .ffi_call_VFP_end:
 	UNWIND .fnend
+	.cfi_endproc
         .size    CNAME(ffi_call_VFP),.ffi_call_VFP_end-CNAME(ffi_call_VFP)
 
 
@@ -492,6 +498,7 @@ ARM_FUNC_START ffi_closure_VFP
 
 .ffi_closure_VFP_end:
 	UNWIND .fnend
+	.cfi_endproc
         .size    CNAME(ffi_closure_VFP),.ffi_closure_VFP_end-CNAME(ffi_closure_VFP)
 #endif