mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00: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>
|
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.
|
* posix/Makefile (CFLAGS-regex.c): Remove variable.
|
||||||
* resolv/Makefile (+cflags): Do not use -Wno-strict-prototypes.
|
* resolv/Makefile (+cflags): Do not use -Wno-strict-prototypes.
|
||||||
|
|
||||||
|
@ -28,9 +28,6 @@
|
|||||||
/* Define if the assembler supports the `.set' directive. */
|
/* Define if the assembler supports the `.set' directive. */
|
||||||
#undef HAVE_ASM_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. */
|
/* On powerpc64, use overlapping .opd entries. */
|
||||||
#undef USE_PPC64_OVERLAPPING_OPD
|
#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
|
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 "$as_me:${as_lineno-$LINENO}: checking for .protected and .hidden assembler directive" >&5
|
||||||
$as_echo_n "checking for .protected and .hidden assembler directive... " >&6; }
|
$as_echo_n "checking for .protected and .hidden assembler directive... " >&6; }
|
||||||
if ${libc_cv_asm_protected_directive+:} false; then :
|
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)
|
AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
|
||||||
fi
|
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,
|
AC_CACHE_CHECK(for .protected and .hidden assembler directive,
|
||||||
libc_cv_asm_protected_directive, [dnl
|
libc_cv_asm_protected_directive, [dnl
|
||||||
cat > conftest.s <<EOF
|
cat > conftest.s <<EOF
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
static int
|
static int
|
||||||
do_test (void)
|
do_test (void)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_ASM_UNIQUE_OBJECT
|
|
||||||
void *h1 = dlopen ("tst-unique1mod1.so", RTLD_LAZY);
|
void *h1 = dlopen ("tst-unique1mod1.so", RTLD_LAZY);
|
||||||
if (h1 == NULL)
|
if (h1 == NULL)
|
||||||
{
|
{
|
||||||
@ -68,7 +67,6 @@ do_test (void)
|
|||||||
puts ("f from tst-unique1mod2 failed");
|
puts ("f from tst-unique1mod2 failed");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#ifdef HAVE_ASM_UNIQUE_OBJECT
|
|
||||||
asm (".data;"
|
asm (".data;"
|
||||||
".globl var\n"
|
".globl var\n"
|
||||||
".type var, %gnu_unique_object\n"
|
".type var, %gnu_unique_object\n"
|
||||||
@ -15,4 +14,3 @@ f (void)
|
|||||||
var = 1;
|
var = 1;
|
||||||
return &var;
|
return &var;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#ifdef HAVE_ASM_UNIQUE_OBJECT
|
|
||||||
asm (".data;"
|
asm (".data;"
|
||||||
".globl var\n"
|
".globl var\n"
|
||||||
".type var, %gnu_unique_object\n"
|
".type var, %gnu_unique_object\n"
|
||||||
@ -14,4 +13,3 @@ f (int *p)
|
|||||||
{
|
{
|
||||||
return &var != p || *p != 1;
|
return &var != p || *p != 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
@ -7,7 +7,6 @@ extern int var;
|
|||||||
static int
|
static int
|
||||||
do_test (void)
|
do_test (void)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_ASM_UNIQUE_OBJECT
|
|
||||||
var = 1;
|
var = 1;
|
||||||
|
|
||||||
void *h = dlopen ("tst-unique2mod2.so", RTLD_LAZY);
|
void *h = dlopen ("tst-unique2mod2.so", RTLD_LAZY);
|
||||||
@ -23,9 +22,6 @@ do_test (void)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return f (&var);
|
return f (&var);
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#define TEST_FUNCTION do_test ()
|
#define TEST_FUNCTION do_test ()
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#ifdef HAVE_ASM_UNIQUE_OBJECT
|
|
||||||
asm (".data;"
|
asm (".data;"
|
||||||
".globl var\n"
|
".globl var\n"
|
||||||
".type var, %gnu_unique_object\n"
|
".type var, %gnu_unique_object\n"
|
||||||
".size var, 4\n"
|
".size var, 4\n"
|
||||||
"var:.zero 4\n"
|
"var:.zero 4\n"
|
||||||
".previous");
|
".previous");
|
||||||
#endif
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#ifdef HAVE_ASM_UNIQUE_OBJECT
|
|
||||||
asm (".data;"
|
asm (".data;"
|
||||||
".globl var\n"
|
".globl var\n"
|
||||||
".type var, %gnu_unique_object\n"
|
".type var, %gnu_unique_object\n"
|
||||||
@ -14,4 +13,3 @@ f (int *p)
|
|||||||
{
|
{
|
||||||
return &var != p || *p != 1;
|
return &var != p || *p != 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
Loading…
Reference in New Issue
Block a user