* configure.ac: Add check for gnu_indirect_function support in
authorIan Lance Taylor <ian@airs.com>
Wed, 2 Mar 2011 14:51:42 +0000 (14:51 +0000)
committerIan Lance Taylor <ian@airs.com>
Wed, 2 Mar 2011 14:51:42 +0000 (14:51 +0000)
the toolchain building binutils.
* configure: Rebuild.

gold/ChangeLog
gold/configure
gold/configure.ac

index e7676ca..d25fb59 100644 (file)
@@ -1,3 +1,9 @@
+2011-03-02  Simon Baldwin  <simonb@google.com>
+
+       * configure.ac: Add check for gnu_indirect_function support in
+       the toolchain building binutils.
+       * configure: Rebuild.
+
 2010-02-18  Rafael Ávila de Espíndola <respindola@mozilla.com>
 
        * symtab.cc (Symbol::should_add_dynsym_entry) Return false for
index c759b77..1a0d47d 100755 (executable)
@@ -6384,6 +6384,7 @@ error
 #elif __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 11)
 error
 #endif
+__asm__(".type foo, %gnu_indirect_function");
 
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
index 2c50d97..60243d0 100644 (file)
@@ -369,7 +369,7 @@ fi
 AC_SUBST(RANDOM_SEED_CFLAGS)
 
 dnl On GNU/Linux ifunc is supported by the dynamic linker in glibc
-dnl 2.11 or later.
+dnl 2.11 or later, and by binutils 2.20.1 or later.
 AC_CACHE_CHECK([for glibc >= 2.11], [gold_cv_lib_glibc2_11],
 [AC_COMPILE_IFELSE([
 #include <features.h>
@@ -378,6 +378,7 @@ error
 #elif __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 11)
 error
 #endif
+__asm__(".type foo, %gnu_indirect_function");
 ], [gold_cv_lib_glibc2_11=yes], [gold_cv_lib_glibc2_11=no])])
 
 AM_CONDITIONAL(IFUNC, test "$gold_cv_lib_glibc2_11" = "yes")