Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Dec 2017 17:48:43 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r456663 - in head/devel/libffi: . files
Message-ID:  <201712181748.vBIHmhW7021766@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim (src committer)
Date: Mon Dec 18 17:48:43 2017
New Revision: 456663
URL: https://svnweb.freebsd.org/changeset/ports/456663

Log:
  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
  MFH:		2017Q4

Modified:
  head/devel/libffi/Makefile
  head/devel/libffi/files/patch-configure

Modified: head/devel/libffi/Makefile
==============================================================================
--- head/devel/libffi/Makefile	Mon Dec 18 17:39:29 2017	(r456662)
+++ head/devel/libffi/Makefile	Mon Dec 18 17:48:43 2017	(r456663)
@@ -3,7 +3,7 @@
 
 PORTNAME=	libffi
 PORTVERSION=	3.2.1
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	devel
 MASTER_SITES=	SOURCEWARE/${PORTNAME}
 

Modified: head/devel/libffi/files/patch-configure
==============================================================================
--- head/devel/libffi/files/patch-configure	Mon Dec 18 17:39:29 2017	(r456662)
+++ head/devel/libffi/files/patch-configure	Mon Dec 18 17:48:43 2017	(r456663)
@@ -1,6 +1,6 @@
---- configure.orig	2014-11-12 05:59:57.000000000 -0600
-+++ configure	2017-07-13 14:20:48.680289000 -0500
-@@ -17221,7 +17221,7 @@
+--- 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*)
  	TARGET=MIPS; TARGETDIR=mips
  	;;
@@ -9,14 +9,116 @@
  	# Support 128-bit long double for NewABI.
  	HAVE_LONG_DOUBLE='defined(__mips64)'
  	TARGET=MIPS; TARGETDIR=mips
-@@ -17254,6 +17254,10 @@
-   powerpc-*-freebsd* | powerpc-*-openbsd*)
+@@ -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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201712181748.vBIHmhW7021766>