diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-12-21 20:13:51 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-12-21 20:13:51 +0000 |
commit | 5fbc9dbd6b4ac23aae0dd66e4cb33a7024df169e (patch) | |
tree | bac6909f2d7d79b1c183499bc7a082be3bff9674 | |
parent | 68342184f1ecbeed8d55c23566e9f555910bec0b (diff) | |
download | ports-5fbc9dbd6b4ac23aae0dd66e4cb33a7024df169e.tar.gz ports-5fbc9dbd6b4ac23aae0dd66e4cb33a7024df169e.zip |
MFH: r456663
Apply upstream change from libffi to check for HAVE_AS_X86_PCREL for all
x86 targets. This should eliminate any text relocations, in particular
for the i386 build, making it possible to build the port with lld
without having to use -z notext.
Obtained from: https://github.com/libffi/libffi/pull/174
Approved by: zeising (maintainer)
PR: 214864
Approved by: portmgr (swills)
Notes
Notes:
svn path=/branches/2017Q4/; revision=456944
-rw-r--r-- | devel/libffi/Makefile | 2 | ||||
-rw-r--r-- | devel/libffi/files/patch-configure | 115 |
2 files changed, 115 insertions, 2 deletions
diff --git a/devel/libffi/Makefile b/devel/libffi/Makefile index 4e2ff4059088..7e0e958b1cc4 100644 --- a/devel/libffi/Makefile +++ b/devel/libffi/Makefile @@ -3,7 +3,7 @@ PORTNAME= libffi PORTVERSION= 3.2.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel MASTER_SITES= SOURCEWARE/${PORTNAME} diff --git a/devel/libffi/files/patch-configure b/devel/libffi/files/patch-configure index 913024f89ed1..996b0998a34b 100644 --- a/devel/libffi/files/patch-configure +++ b/devel/libffi/files/patch-configure @@ -1,4 +1,4 @@ ---- configure.orig 2015-01-01 10:56:10 UTC +--- configure.orig 2014-11-12 11:59:57 UTC +++ configure @@ -17221,7 +17221,7 @@ case "$host" in mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*) @@ -9,3 +9,116 @@ # Support 128-bit long double for NewABI. HAVE_LONG_DOUBLE='defined(__mips64)' TARGET=MIPS; TARGETDIR=mips +@@ -17255,6 +17255,10 @@ case "$host" in + TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc + HAVE_LONG_DOUBLE_VARIANT=1 + ;; ++ powerpcspe-*-freebsd*) ++ TARGET=POWERPC_FREEBSD; TARGETDIR=powerpc ++ CFLAGS="$CFLAGS -D__NO_FPRS__" ++ ;; + powerpc64-*-freebsd*) + TARGET=POWERPC; TARGETDIR=powerpc + ;; +@@ -18289,7 +18293,8 @@ $as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs. + fi + + +-if test x$TARGET = xSPARC; then ++case "$TARGET" in ++ SPARC) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker support unaligned pc related relocs" >&5 + $as_echo_n "checking assembler and linker support unaligned pc related relocs... " >&6; } + if ${libffi_cv_as_sparc_ua_pcrel+:} false; then : +@@ -18363,9 +18368,9 @@ $as_echo "$libffi_cv_as_register_pseudo_op" >&6; } + $as_echo "#define HAVE_AS_REGISTER_PSEUDO_OP 1" >>confdefs.h + + fi +-fi ++ ;; + +-if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then ++ X86*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports pc related relocs" >&5 + $as_echo_n "checking assembler supports pc related relocs... " >&6; } + if ${libffi_cv_as_x86_pcrel+:} false; then : +@@ -18386,77 +18391,8 @@ $as_echo "$libffi_cv_as_x86_pcrel" >&6; } + $as_echo "#define HAVE_AS_X86_PCREL 1" >>confdefs.h + + fi +- +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .ascii pseudo-op support" >&5 +-$as_echo_n "checking assembler .ascii pseudo-op support... " >&6; } +-if ${libffi_cv_as_ascii_pseudo_op+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- +- libffi_cv_as_ascii_pseudo_op=unknown +- # Check if we have .ascii +- cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +- +-int +-main () +-{ +-asm (".ascii \\"string\\""); +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : +- libffi_cv_as_ascii_pseudo_op=yes +-else +- libffi_cv_as_ascii_pseudo_op=no +-fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +- +-fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ascii_pseudo_op" >&5 +-$as_echo "$libffi_cv_as_ascii_pseudo_op" >&6; } +- if test "x$libffi_cv_as_ascii_pseudo_op" = xyes; then +- +-$as_echo "#define HAVE_AS_ASCII_PSEUDO_OP 1" >>confdefs.h +- +- fi +- +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler .string pseudo-op support" >&5 +-$as_echo_n "checking assembler .string pseudo-op support... " >&6; } +-if ${libffi_cv_as_string_pseudo_op+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- +- libffi_cv_as_string_pseudo_op=unknown +- # Check if we have .string +- cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +- +-int +-main () +-{ +-asm (".string \\"string\\""); +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_compile "$LINENO"; then : +- libffi_cv_as_string_pseudo_op=yes +-else +- libffi_cv_as_string_pseudo_op=no +-fi +-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +- +-fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_string_pseudo_op" >&5 +-$as_echo "$libffi_cv_as_string_pseudo_op" >&6; } +- if test "x$libffi_cv_as_string_pseudo_op" = xyes; then +- +-$as_echo "#define HAVE_AS_STRING_PSEUDO_OP 1" >>confdefs.h +- +- fi +-fi ++ ;; ++esac + + # On PaX enable kernels that have MPROTECT enable we can't use PROT_EXEC. + # Check whether --enable-pax_emutramp was given. |