diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-10-19 22:34:20 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-10-19 22:34:20 +0000 |
commit | 864198ed3011a446f42fc9dcb6d39617ce2477ea (patch) | |
tree | 3e5120d147d5eac8e145e2313b21df921a4b72ed | |
parent | d10a3ab27329c49a0feb86a10affb1f69054e4ab (diff) | |
download | glibc-864198ed3011a446f42fc9dcb6d39617ce2477ea.zip glibc-864198ed3011a446f42fc9dcb6d39617ce2477ea.tar.gz glibc-864198ed3011a446f42fc9dcb6d39617ce2477ea.tar.bz2 |
Remove gnu_unique_object configure test.
There is a configure test for assembler support for the
gnu_unique_object symbol type. This support was added in binutils
2.20, so is present in all versions supported for building glibc.
Thus, I think the configure test can be removed; this patch does so.
Now, there is a caveat that the gas NEWS entry refers to this as a
feature for GNU/Linux targets. But the condition is use of
ELFOSABI_GNU or ELFOSABI_NONE. ELFOSABI_GNU covers Hurd as well as
GNU/Linux (as was the case with the older ELFOSABI_LINUX name), and
ELFOSABI_NONE means this is effectively OS-independent. Furthermore,
I think a correct binutils port for any glibc target ought to support
this feature for use with glibc; glibc supports this as an
OS-independent feature (the configure test is only about glibc
testcases).
Tested for x86_64 (testsuite, and that installed shared libraries are
unchanged by the patch).
* configure.ac (libc_cv_asm_unique_object): Remove configure test.
* configure: Regenerated.
* config.h.in (HAVE_ASM_UNIQUE_OBJECT): Remove #undef.
* elf/tst-unique1.c (do_test) [HAVE_ASM_UNIQUE_OBJECT]: Make code
unconditional.
* elf/tst-unique1mod1.c [HAVE_ASM_UNIQUE_OBJECT]: Likewise.
* elf/tst-unique1mod2.c [HAVE_ASM_UNIQUE_OBJECT]: Likewise.
* elf/tst-unique2.c (do_test) [HAVE_ASM_UNIQUE_OBJECT]: Likewise.
(do_test) [!HAVE_ASM_UNIQUE_OBJECT]: Remove conditional code.
* elf/tst-unique2mod1.c [HAVE_ASM_UNIQUE_OBJECT]: Make code
unconditional.
* elf/tst-unique2mod2.c [HAVE_ASM_UNIQUE_OBJECT]: Likewise.
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | config.h.in | 3 | ||||
-rwxr-xr-x | configure | 24 | ||||
-rw-r--r-- | configure.ac | 17 | ||||
-rw-r--r-- | elf/tst-unique1.c | 2 | ||||
-rw-r--r-- | elf/tst-unique1mod1.c | 2 | ||||
-rw-r--r-- | elf/tst-unique1mod2.c | 2 | ||||
-rw-r--r-- | elf/tst-unique2.c | 4 | ||||
-rw-r--r-- | elf/tst-unique2mod1.c | 2 | ||||
-rw-r--r-- | elf/tst-unique2mod2.c | 2 |
10 files changed, 13 insertions, 58 deletions
@@ -1,5 +1,18 @@ 2015-10-19 Joseph Myers <joseph@codesourcery.com> + * configure.ac (libc_cv_asm_unique_object): Remove configure test. + * configure: Regenerated. + * config.h.in (HAVE_ASM_UNIQUE_OBJECT): Remove #undef. + * elf/tst-unique1.c (do_test) [HAVE_ASM_UNIQUE_OBJECT]: Make code + unconditional. + * elf/tst-unique1mod1.c [HAVE_ASM_UNIQUE_OBJECT]: Likewise. + * elf/tst-unique1mod2.c [HAVE_ASM_UNIQUE_OBJECT]: Likewise. + * elf/tst-unique2.c (do_test) [HAVE_ASM_UNIQUE_OBJECT]: Likewise. + (do_test) [!HAVE_ASM_UNIQUE_OBJECT]: Remove conditional code. + * elf/tst-unique2mod1.c [HAVE_ASM_UNIQUE_OBJECT]: Make code + unconditional. + * elf/tst-unique2mod2.c [HAVE_ASM_UNIQUE_OBJECT]: Likewise. + * posix/Makefile (CFLAGS-regex.c): Remove variable. * resolv/Makefile (+cflags): Do not use -Wno-strict-prototypes. diff --git a/config.h.in b/config.h.in index 44e8590..1418756 100644 --- a/config.h.in +++ b/config.h.in @@ -28,9 +28,6 @@ /* Define if the assembler supports the `.set' directive. */ #undef HAVE_ASM_SET_DIRECTIVE -/* Define if the assembler supports the gnu_unique_object symbol type. */ -#undef HAVE_ASM_UNIQUE_OBJECT - /* On powerpc64, use overlapping .opd entries. */ #undef USE_PPC64_OVERLAPPING_OPD @@ -5337,30 +5337,6 @@ if test $libc_cv_asm_set_directive = yes; then fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler gnu_unique_object symbol type" >&5 -$as_echo_n "checking for assembler gnu_unique_object symbol type... " >&6; } -if ${libc_cv_asm_unique_object+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.s <<EOF -${libc_cv_dot_text} -_sym: -.type _sym, %gnu_unique_object -EOF -if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5; then - libc_cv_asm_unique_object=yes -else - libc_cv_asm_unique_object=no -fi -rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_unique_object" >&5 -$as_echo "$libc_cv_asm_unique_object" >&6; } -if test $libc_cv_asm_unique_object = yes; then - $as_echo "#define HAVE_ASM_UNIQUE_OBJECT 1" >>confdefs.h - -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .protected and .hidden assembler directive" >&5 $as_echo_n "checking for .protected and .hidden assembler directive... " >&6; } if ${libc_cv_asm_protected_directive+:} false; then : diff --git a/configure.ac b/configure.ac index e6cab9c..e502aa5 100644 --- a/configure.ac +++ b/configure.ac @@ -1121,23 +1121,6 @@ if test $libc_cv_asm_set_directive = yes; then AC_DEFINE(HAVE_ASM_SET_DIRECTIVE) fi -AC_CACHE_CHECK(for assembler gnu_unique_object symbol type, - libc_cv_asm_unique_object, [dnl -cat > conftest.s <<EOF -${libc_cv_dot_text} -_sym: -.type _sym, %gnu_unique_object -EOF -if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then - libc_cv_asm_unique_object=yes -else - libc_cv_asm_unique_object=no -fi -rm -f conftest*]) -if test $libc_cv_asm_unique_object = yes; then - AC_DEFINE(HAVE_ASM_UNIQUE_OBJECT) -fi - AC_CACHE_CHECK(for .protected and .hidden assembler directive, libc_cv_asm_protected_directive, [dnl cat > conftest.s <<EOF diff --git a/elf/tst-unique1.c b/elf/tst-unique1.c index 46d41d9..17af6f1 100644 --- a/elf/tst-unique1.c +++ b/elf/tst-unique1.c @@ -6,7 +6,6 @@ static int do_test (void) { -#ifdef HAVE_ASM_UNIQUE_OBJECT void *h1 = dlopen ("tst-unique1mod1.so", RTLD_LAZY); if (h1 == NULL) { @@ -68,7 +67,6 @@ do_test (void) puts ("f from tst-unique1mod2 failed"); return 1; } -#endif return 0; } diff --git a/elf/tst-unique1mod1.c b/elf/tst-unique1mod1.c index f59029d..84b1f90 100644 --- a/elf/tst-unique1mod1.c +++ b/elf/tst-unique1mod1.c @@ -1,6 +1,5 @@ #include <config.h> -#ifdef HAVE_ASM_UNIQUE_OBJECT asm (".data;" ".globl var\n" ".type var, %gnu_unique_object\n" @@ -15,4 +14,3 @@ f (void) var = 1; return &var; } -#endif diff --git a/elf/tst-unique1mod2.c b/elf/tst-unique1mod2.c index aa28f29..126ca1a 100644 --- a/elf/tst-unique1mod2.c +++ b/elf/tst-unique1mod2.c @@ -1,6 +1,5 @@ #include <config.h> -#ifdef HAVE_ASM_UNIQUE_OBJECT asm (".data;" ".globl var\n" ".type var, %gnu_unique_object\n" @@ -14,4 +13,3 @@ f (int *p) { return &var != p || *p != 1; } -#endif diff --git a/elf/tst-unique2.c b/elf/tst-unique2.c index 7bb0687..4426754 100644 --- a/elf/tst-unique2.c +++ b/elf/tst-unique2.c @@ -7,7 +7,6 @@ extern int var; static int do_test (void) { -#ifdef HAVE_ASM_UNIQUE_OBJECT var = 1; void *h = dlopen ("tst-unique2mod2.so", RTLD_LAZY); @@ -23,9 +22,6 @@ do_test (void) return 1; } return f (&var); -#else - return 0; -#endif } #define TEST_FUNCTION do_test () diff --git a/elf/tst-unique2mod1.c b/elf/tst-unique2mod1.c index b7e491b..7cdb0eb 100644 --- a/elf/tst-unique2mod1.c +++ b/elf/tst-unique2mod1.c @@ -1,10 +1,8 @@ #include <config.h> -#ifdef HAVE_ASM_UNIQUE_OBJECT asm (".data;" ".globl var\n" ".type var, %gnu_unique_object\n" ".size var, 4\n" "var:.zero 4\n" ".previous"); -#endif diff --git a/elf/tst-unique2mod2.c b/elf/tst-unique2mod2.c index aa28f29..126ca1a 100644 --- a/elf/tst-unique2mod2.c +++ b/elf/tst-unique2mod2.c @@ -1,6 +1,5 @@ #include <config.h> -#ifdef HAVE_ASM_UNIQUE_OBJECT asm (".data;" ".globl var\n" ".type var, %gnu_unique_object\n" @@ -14,4 +13,3 @@ f (int *p) { return &var != p || *p != 1; } -#endif |