summaryrefslogtreecommitdiff
path: root/devel/libffi
diff options
context:
space:
mode:
authorjperkin <jperkin@pkgsrc.org>2012-05-30 09:13:16 +0000
committerjperkin <jperkin@pkgsrc.org>2012-05-30 09:13:16 +0000
commit736efc7b7372add431a218a3e7148d76757d389f (patch)
tree2a53d95af38813e3123e13e85d3556266485ced6 /devel/libffi
parenta9b7982b8a727fd8541d0dbf68f32173964d1bf0 (diff)
downloadpkgsrc-736efc7b7372add431a218a3e7148d76757d389f.tar.gz
Apply fix from http://gcc.gnu.org/ml/java-patches/2010-q1/msg00058.html
Fixes Solaris/64bit, tested on NetBSD/amd64.
Diffstat (limited to 'devel/libffi')
-rw-r--r--devel/libffi/distinfo6
-rw-r--r--devel/libffi/patches/patch-aa34
-rw-r--r--devel/libffi/patches/patch-fficonfig.h.in14
-rw-r--r--devel/libffi/patches/patch-src_x86_unix64.S18
4 files changed, 69 insertions, 3 deletions
diff --git a/devel/libffi/distinfo b/devel/libffi/distinfo
index f02f5f9e0a5..da98ab10161 100644
--- a/devel/libffi/distinfo
+++ b/devel/libffi/distinfo
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.20 2011/12/31 09:58:22 tsutsui Exp $
+$NetBSD: distinfo,v 1.21 2012/05/30 09:13:16 jperkin Exp $
SHA1 (libffi-3.0.9.tar.gz) = 56e41f87780e09d06d279690e53d4ea2c371ea88
RMD160 (libffi-3.0.9.tar.gz) = 11ff9aeb62f4fbe1fecf09e6f9814a72bfedb37a
Size (libffi-3.0.9.tar.gz) = 731719 bytes
-SHA1 (patch-aa) = 9339c1051f5300ad8a145f1fcdfe73981cb746c0
+SHA1 (patch-aa) = b8b056489723a0df18785ba61aeb1ff76d5d50a4
SHA1 (patch-ab) = a63e2fa11c16410f280de19c1ef47e6c7884c2b8
SHA1 (patch-ac) = f3c6324f4334d23e684b4eca25173a13be5d37eb
SHA1 (patch-ad) = 8901a00abe25422e3e35f321a5fb89311185fc0b
@@ -13,4 +13,6 @@ SHA1 (patch-ag) = 6333317170f6e92f89db966315276dcd8e3484f2
SHA1 (patch-ah) = e9580069ede90cd616da7bc230b28acbf5d204a6
SHA1 (patch-ai) = f85a6cb64d4a9d7c3e56b47b7092fce10a744b5b
SHA1 (patch-aj) = cd8369bef0149ed044ef16c0eae7b537b4090f1f
+SHA1 (patch-fficonfig.h.in) = fd85fa767bc057c843ff71cc61bedfcff84def43
SHA1 (patch-src_arm_sysv.S) = b4a4a1641e116df8dd9bd3896e6bfaa759489cb3
+SHA1 (patch-src_x86_unix64.S) = 7d5229c59ff29d77cf2cc3aa3238affb09208c44
diff --git a/devel/libffi/patches/patch-aa b/devel/libffi/patches/patch-aa
index a16f3237328..6cdcd1dbfa6 100644
--- a/devel/libffi/patches/patch-aa
+++ b/devel/libffi/patches/patch-aa
@@ -1,4 +1,4 @@
-$NetBSD: patch-aa,v 1.11 2011/01/21 09:21:58 tnn Exp $
+$NetBSD: patch-aa,v 1.12 2012/05/30 09:13:16 jperkin Exp $
Extend which ports we accept to deal with.
@@ -40,3 +40,35 @@ Extend which ports we accept to deal with.
TARGET=SH; TARGETDIR=sh
;;
sh64-*-* | sh5*-*-*)
+@@ -14510,6 +14510,31 @@
+ ;;
+ esac
+
++if test x$TARGET = xX86_64; then
++ { $as_echo "$as_me:$LINENO: checking assembler supports unwind section type" >&5
++$as_echo_n "checking assembler supports unwind section type... " >&6; }
++if test "${libffi_cv_as_x86_64_unwind_section_type+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++
++ libffi_cv_as_x86_64_unwind_section_type=yes
++ echo '.section .eh_frame,"a",@unwind' > conftest.s
++ if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
++ libffi_cv_as_x86_64_unwind_section_type=no
++ fi
++
++fi
++{ $as_echo "$as_me:$LINENO: result: $libffi_cv_as_x86_64_unwind_section_type" >&5
++$as_echo "$libffi_cv_as_x86_64_unwind_section_type" >&6; }
++ if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1
++_ACEOF
++
++ fi
++fi
++
+ { $as_echo "$as_me:$LINENO: checking whether .eh_frame section should be read-only" >&5
+ $as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
+ if test "${libffi_cv_ro_eh_frame+set}" = set; then
diff --git a/devel/libffi/patches/patch-fficonfig.h.in b/devel/libffi/patches/patch-fficonfig.h.in
new file mode 100644
index 00000000000..2285977d795
--- /dev/null
+++ b/devel/libffi/patches/patch-fficonfig.h.in
@@ -0,0 +1,14 @@
+$NetBSD: patch-fficonfig.h.in,v 1.1 2012/05/30 09:13:16 jperkin Exp $
+
+--- fficonfig.h.in.orig Wed May 30 08:53:33 2012
++++ fficonfig.h.in Wed May 30 08:54:03 2012
+@@ -46,6 +46,9 @@
+ /* Define if your assembler supports PC relative relocs. */
+ #undef HAVE_AS_X86_PCREL
+
++/* Define if your assembler supports unwind section type. */
++#undef HAVE_AS_X86_64_UNWIND_SECTION_TYPE
++
+ /* Define to 1 if you have the <dlfcn.h> header file. */
+ #undef HAVE_DLFCN_H
+
diff --git a/devel/libffi/patches/patch-src_x86_unix64.S b/devel/libffi/patches/patch-src_x86_unix64.S
new file mode 100644
index 00000000000..9bc6bd7359e
--- /dev/null
+++ b/devel/libffi/patches/patch-src_x86_unix64.S
@@ -0,0 +1,18 @@
+$NetBSD: patch-src_x86_unix64.S,v 1.1 2012/05/30 09:13:16 jperkin Exp $
+
+Apply fix from http://gcc.gnu.org/ml/java-patches/2010-q1/msg00058.html
+
+--- src/x86/unix64.S.orig Wed May 30 08:50:05 2012
++++ src/x86/unix64.S Wed May 30 08:50:41 2012
+@@ -324,7 +324,11 @@
+ .LUW9:
+ .size ffi_closure_unix64,.-ffi_closure_unix64
+
++#ifdef HAVE_AS_X86_64_UNWIND_SECTION_TYPE
++ .section .eh_frame,"a",@unwind
++#else
+ .section .eh_frame,"a",@progbits
++#endif
+ .Lframe1:
+ .long .LECIE1-.LSCIE1 /* CIE Length */
+ .LSCIE1: