diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2015-11-10 15:54:22 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-11-10 15:54:22 -0800 |
commit | ffcbf16cc1a666f4fadbc105399c6e55417d2435 (patch) | |
tree | 728a8e997bb67bfe08652cbc1605d982efec669f /configure.ac | |
parent | fe534fe8980fa214c410e3661a4216e781073353 (diff) | |
download | glibc-hjl/pr19178/master.zip glibc-hjl/pr19178/master.tar.gz glibc-hjl/pr19178/master.tar.bz2 |
Run tst-prelink test for GLOB_DAT relochjl/pr19178/master
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.ac')
-rw-r--r-- | configure.ac | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 3fdf992..cd37433 100644 --- a/configure.ac +++ b/configure.ac @@ -1340,6 +1340,29 @@ $ac_try" use_default_link=$libc_cv_use_default_link fi +AC_CACHE_CHECK(for GLOB_DAT reloc, + libc_cv_has_glob_dat, [dnl +cat > conftest.c <<EOF +extern int mumble; +int foo (void) { return mumble; } +EOF +if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS + -fPIC -shared -o conftest.so conftest.c + -nostdlib -nostartfiles + 1>&AS_MESSAGE_LOG_FD]) +then +dnl look for GLOB_DAT relocation. + 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*]) +AC_SUBST(libc_cv_has_glob_dat) + AC_CACHE_CHECK(linker output format, libc_cv_output_format, [dnl if libc_cv_output_format=` ${CC-cc} -nostartfiles -nostdlib -Wl,--print-output-format 2>&AS_MESSAGE_LOG_FD` |