diff options
-rw-r--r-- | gold/ChangeLog | 6 | ||||
-rwxr-xr-x | gold/configure | 1 | ||||
-rw-r--r-- | gold/configure.ac | 3 |
3 files changed, 9 insertions, 1 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index e7676ca..d25fb59 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -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 diff --git a/gold/configure b/gold/configure index c759b77..1a0d47d 100755 --- a/gold/configure +++ b/gold/configure @@ -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 : diff --git a/gold/configure.ac b/gold/configure.ac index 2c50d97..60243d0 100644 --- a/gold/configure.ac +++ b/gold/configure.ac @@ -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") |