diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2015-11-14 12:00:16 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-11-14 12:00:38 -0800 |
commit | 89569c8bb6b386db4881af0e96514d2ec5c35478 (patch) | |
tree | b7f12201cf9012de909b9ddd96f820499e3c0584 /configure | |
parent | 909f8e14dbe4073d75a776b4a9f50e5cc450f161 (diff) | |
download | glibc-89569c8bb6b386db4881af0e96514d2ec5c35478.tar.gz glibc-89569c8bb6b386db4881af0e96514d2ec5c35478.tar.xz glibc-89569c8bb6b386db4881af0e96514d2ec5c35478.zip |
Run tst-prelink test for GLOB_DAT reloc
Run tst-prelink test on targets with GLOB_DAT relocaton. * config.make.in (have-glob-dat-reloc): New. * configure.ac (libc_cv_has_glob_dat): New. Set to yes if target supports GLOB_DAT relocaton. AC_SUBST. * configure: Regenerated. * elf/Makefile (tests): Add tst-prelink. (tests-special): Add $(objpfx)tst-prelink-cmp.out. (tst-prelink-ENV): New. ($(objpfx)tst-prelink-conflict.out): Likewise. ($(objpfx)tst-prelink-cmp.out): Likewise. * sysdeps/x86/tst-prelink.c: Moved to ... * elf/tst-prelink.c: Here. * sysdeps/x86/tst-prelink.exp: Moved to ... * elf/tst-prelink.exp: Here. * sysdeps/x86/Makefile (tests): Don't add tst-prelink. (tst-prelink-ENV): Removed. ($(objpfx)tst-prelink-conflict.out): Likewise. ($(objpfx)tst-prelink-cmp.out): Likewise. (tests-special): Don't add $(objpfx)tst-prelink-cmp.out.
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/configure b/configure index 01f5075767..90953f0fbd 100755 --- a/configure +++ b/configure @@ -622,6 +622,7 @@ libc_cv_cc_nofma stack_protector fno_unit_at_a_time libc_cv_output_format +libc_cv_has_glob_dat libc_cv_hashstyle libc_cv_fpie libc_cv_z_execstack @@ -5693,6 +5694,39 @@ $as_echo "$libc_cv_use_default_link" >&6; } use_default_link=$libc_cv_use_default_link fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLOB_DAT reloc" >&5 +$as_echo_n "checking for GLOB_DAT reloc... " >&6; } +if ${libc_cv_has_glob_dat+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat > conftest.c <<EOF +extern int mumble; +int foo (void) { return mumble; } +EOF +if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS + -fPIC -shared -o conftest.so conftest.c + -nostdlib -nostartfiles + 1>&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } +then + if $READELF -rW conftest.so | grep '_GLOB_DAT' > /dev/null; then + libc_cv_has_glob_dat=yes + else + libc_cv_has_glob_dat=no + fi +else + libc_cv_has_glob_dat=no +fi +rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_has_glob_dat" >&5 +$as_echo "$libc_cv_has_glob_dat" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker output format" >&5 $as_echo_n "checking linker output format... " >&6; } if ${libc_cv_output_format+:} false; then : |