Ensure the linker supports @unwind sections in libffi.
authorAnthony Green <green@moxielogic.com>
Fri, 14 Mar 2014 20:54:31 +0000 (16:54 -0400)
committerAnthony Green <green@moxielogic.com>
Fri, 14 Mar 2014 20:54:31 +0000 (16:54 -0400)
1  2 
ChangeLog
configure
configure.ac

diff --cc ChangeLog
+++ b/ChangeLog
@@@ -1,8 -1,7 +1,16 @@@
++2014-03-14  Anthony Green <green@moxielogic.com>
++
++      * configure, Makefile.in: Rebuilt.
++
 +2014-03-10  Mike Hommey <mh+mozilla@glandium.org>
 +
 +      * configure.ac: Allow building for mipsel with Android NDK r8.
 +      * Makefile.am (AM_MAKEFLAGS): Replace double quotes with single quotes.
 +
+ 2014-03-10  Landry Breuil <landry@openbsd.org>
+       * configure.ac: Ensure the linker supports @unwind sections in libffi.
  2014-03-01  Anthony Green  <green@moxielogic.com>
  
        * Makefile.am (EXTRA_DIST): Replace old scripts with
diff --cc configure
+++ b/configure
@@@ -13584,7 -13584,7 +13584,7 @@@ case "$host" i
    mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
        TARGET=MIPS; TARGETDIR=mips
        ;;
--  mips*-*-linux* | mips*-*-openbsd*)
++  mips*-*linux* | mips*-*-openbsd*)
        # Support 128-bit long double for NewABI.
        HAVE_LONG_DOUBLE='defined(__mips64)'
        TARGET=MIPS; TARGETDIR=mips
  
  
  if test x$TARGET = xX86_64; then
--    { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
--$as_echo_n "checking assembler supports unwind section type... " >&6; }
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking toolchain supports unwind section type" >&5
++$as_echo_n "checking toolchain supports unwind section type... " >&6; }
  if ${libffi_cv_as_x86_64_unwind_section_type+:} false; 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
++        cat  > conftest1.s << EOF
++.text
++.globl foo
++foo:
++jmp bar
++.section .eh_frame,"a",@unwind
++bar:
++EOF
++
++        cat > conftest2.c  << EOF
++extern void foo();
++int main(){foo();}
++EOF
++
++      libffi_cv_as_x86_64_unwind_section_type=no
++      # we ensure that we can compile _and_ link an assembly file containing an @unwind section
++      # since the compiler can support it and not the linker (ie old binutils)
++      if $CC -Wa,--fatal-warnings $CFLAGS -c conftest1.s > /dev/null 2>&1 && \
++           $CC conftest2.c conftest1.o > /dev/null 2>&1 ; then
++          libffi_cv_as_x86_64_unwind_section_type=yes
        fi
  
  fi
diff --cc configure.ac
Simple merge