mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
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.
This commit is contained in:
parent
d10a3ab273
commit
864198ed30
13
ChangeLog
13
ChangeLog
@ -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.
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
24
configure
vendored
24
configure
vendored
@ -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 :
|
||||
|
17
configure.ac
17
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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 ()
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user