mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
Remove configure tests for visibility support.
There are various configure tests for visibility support in the compiler and assember. GCC support for visibility attributes was added in GCC 3.3. I don't know what specific fix was intended by the test "for broken __attribute__((visibility())", but it was added by <https://sourceware.org/ml/libc-hacker/2002-08/msg00030.html>, and GCC 3.3 appears not to have that breakage, so I suspect it was only ever in development versions before 3.3 was released. The assembler support was added in binutils 2.10. This patch removes the tests in question as obsolete. Two tests that were formerly conditional on "if test $libc_cv_visibility_attribute = yes", including the one for linker support for protected data, are now unconditional. Tested for x86_64 and x86 (testsuite, and that installed shared libraries are unchanged by the patch). * configure.ac (libc_cv_asm_protected_directive): Remove configure test. (libc_cv_visibility_attribute): Likewise. (libc_cv_protected_data): Test unconditionally. (libc_cv_broken_visibility_attribute): Remove configure test. (libc_cv_have_sdata_section): Test unconditionally. * configure: Regenerated.
This commit is contained in:
parent
dbb7600658
commit
2a723ff6ff
@ -1,5 +1,13 @@
|
||||
2015-10-29 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac (libc_cv_asm_protected_directive): Remove configure
|
||||
test.
|
||||
(libc_cv_visibility_attribute): Likewise.
|
||||
(libc_cv_protected_data): Test unconditionally.
|
||||
(libc_cv_broken_visibility_attribute): Remove configure test.
|
||||
(libc_cv_have_sdata_section): Test unconditionally.
|
||||
* configure: Regenerated.
|
||||
|
||||
* include/libc-internal.h (libc_max_align_t): Remove typedef.
|
||||
* include/scratch_buffer.h: Include <stddef.h> instead of
|
||||
<libc-internal.h>.
|
||||
|
137
configure
vendored
137
configure
vendored
@ -5304,136 +5304,41 @@ if test $libc_cv_asm_set_directive = yes; then
|
||||
|
||||
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 :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat > conftest.s <<EOF
|
||||
.protected foo
|
||||
foo:
|
||||
.hidden bar
|
||||
bar:
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -c $ASFLAGS conftest.s 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
|
||||
libc_cv_asm_protected_directive=yes
|
||||
else
|
||||
as_fn_error $? "assembler support for symbol visibility is required" "$LINENO" 5
|
||||
fi
|
||||
rm -f conftest*
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_protected_directive" >&5
|
||||
$as_echo "$libc_cv_asm_protected_directive" >&6; }
|
||||
|
||||
if test $libc_cv_asm_protected_directive = yes; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __attribute__((visibility())) is supported" >&5
|
||||
$as_echo_n "checking whether __attribute__((visibility())) is supported... " >&6; }
|
||||
if ${libc_cv_visibility_attribute+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
int foo __attribute__ ((visibility ("hidden"))) = 1;
|
||||
int bar __attribute__ ((visibility ("protected"))) = 1;
|
||||
EOF
|
||||
libc_cv_visibility_attribute=no
|
||||
if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 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 grep '\.hidden.*foo' conftest.s >/dev/null; then
|
||||
if grep '\.protected.*bar' conftest.s >/dev/null; then
|
||||
libc_cv_visibility_attribute=yes
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
rm -f conftest.{c,s}
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_visibility_attribute" >&5
|
||||
$as_echo "$libc_cv_visibility_attribute" >&6; }
|
||||
if test $libc_cv_visibility_attribute != yes; then
|
||||
as_fn_error $? "compiler support for visibility attribute is required" "$LINENO" 5
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $libc_cv_visibility_attribute = yes; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker support for protected data symbol" >&5
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker support for protected data symbol" >&5
|
||||
$as_echo_n "checking linker support for protected data symbol... " >&6; }
|
||||
if ${libc_cv_protected_data+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
int bar __attribute__ ((visibility ("protected"))) = 1;
|
||||
int bar __attribute__ ((visibility ("protected"))) = 1;
|
||||
EOF
|
||||
libc_cv_protected_data=no
|
||||
if { ac_try='${CC-cc} -nostdlib -nostartfiles -fPIC -shared conftest.c -o conftest.so'
|
||||
libc_cv_protected_data=no
|
||||
if { ac_try='${CC-cc} -nostdlib -nostartfiles -fPIC -shared conftest.c -o conftest.so'
|
||||
{ { 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
|
||||
cat > conftest.c <<EOF
|
||||
extern int bar;
|
||||
int main (void) { return bar; }
|
||||
cat > conftest.c <<EOF
|
||||
extern int bar;
|
||||
int main (void) { return bar; }
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -nostdlib -nostartfiles conftest.c -o conftest conftest.so'
|
||||
if { ac_try='${CC-cc} -nostdlib -nostartfiles conftest.c -o conftest conftest.so'
|
||||
{ { 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
|
||||
libc_cv_protected_data=yes
|
||||
fi
|
||||
libc_cv_protected_data=yes
|
||||
fi
|
||||
rm -f conftest.*
|
||||
fi
|
||||
rm -f conftest.*
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_protected_data" >&5
|
||||
$as_echo "$libc_cv_protected_data" >&6; }
|
||||
else
|
||||
libc_cv_protected_data=no
|
||||
fi
|
||||
|
||||
|
||||
if test $libc_cv_visibility_attribute = yes; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken __attribute__((visibility()))" >&5
|
||||
$as_echo_n "checking for broken __attribute__((visibility()))... " >&6; }
|
||||
if ${libc_cv_broken_visibility_attribute+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
int foo (int x);
|
||||
int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
|
||||
int bar (int x) { return x; }
|
||||
EOF
|
||||
libc_cv_broken_visibility_attribute=yes
|
||||
if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 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 grep '\.hidden[ _]foo' conftest.s >/dev/null; then
|
||||
libc_cv_broken_visibility_attribute=no
|
||||
fi
|
||||
fi
|
||||
rm -f conftest.c conftest.s
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_broken_visibility_attribute" >&5
|
||||
$as_echo "$libc_cv_broken_visibility_attribute" >&6; }
|
||||
if test $libc_cv_broken_visibility_attribute = yes; then
|
||||
as_fn_error $? "working compiler support for visibility attribute is required" "$LINENO" 5
|
||||
fi
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken __attribute__((alias()))" >&5
|
||||
$as_echo_n "checking for broken __attribute__((alias()))... " >&6; }
|
||||
if ${libc_cv_broken_alias_attribute+:} false; then :
|
||||
@ -5468,27 +5373,25 @@ if test $libc_cv_broken_alias_attribute = yes; then
|
||||
as_fn_error $? "working alias attribute support required" "$LINENO" 5
|
||||
fi
|
||||
|
||||
if test $libc_cv_visibility_attribute = yes; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to put _rtld_local into .sdata section" >&5
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to put _rtld_local into .sdata section" >&5
|
||||
$as_echo_n "checking whether to put _rtld_local into .sdata section... " >&6; }
|
||||
if ${libc_cv_have_sdata_section+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
echo "int i;" > conftest.c
|
||||
libc_cv_have_sdata_section=no
|
||||
if ${CC-cc} $LDFLAGS -fPIC -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
|
||||
| grep '\.sdata' >/dev/null; then
|
||||
libc_cv_have_sdata_section=yes
|
||||
fi
|
||||
rm -f conftest.c conftest.so
|
||||
libc_cv_have_sdata_section=no
|
||||
if ${CC-cc} $LDFLAGS -fPIC -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
|
||||
| grep '\.sdata' >/dev/null; then
|
||||
libc_cv_have_sdata_section=yes
|
||||
fi
|
||||
rm -f conftest.c conftest.so
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_have_sdata_section" >&5
|
||||
$as_echo "$libc_cv_have_sdata_section" >&6; }
|
||||
if test $libc_cv_have_sdata_section = yes; then
|
||||
$as_echo "#define HAVE_SDATA_SECTION 1" >>confdefs.h
|
||||
if test $libc_cv_have_sdata_section = yes; then
|
||||
$as_echo "#define HAVE_SDATA_SECTION 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .preinit_array/.init_array/.fini_array support" >&5
|
||||
|
118
configure.ac
118
configure.ac
@ -1105,89 +1105,25 @@ if test $libc_cv_asm_set_directive = yes; then
|
||||
AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK(for .protected and .hidden assembler directive,
|
||||
libc_cv_asm_protected_directive, [dnl
|
||||
cat > conftest.s <<EOF
|
||||
.protected foo
|
||||
foo:
|
||||
.hidden bar
|
||||
bar:
|
||||
AC_CACHE_CHECK(linker support for protected data symbol,
|
||||
libc_cv_protected_data,
|
||||
[cat > conftest.c <<EOF
|
||||
int bar __attribute__ ((visibility ("protected"))) = 1;
|
||||
EOF
|
||||
if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
|
||||
libc_cv_asm_protected_directive=yes
|
||||
else
|
||||
AC_MSG_ERROR(assembler support for symbol visibility is required)
|
||||
fi
|
||||
rm -f conftest*])
|
||||
|
||||
if test $libc_cv_asm_protected_directive = yes; then
|
||||
AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
|
||||
libc_cv_visibility_attribute,
|
||||
[cat > conftest.c <<EOF
|
||||
int foo __attribute__ ((visibility ("hidden"))) = 1;
|
||||
int bar __attribute__ ((visibility ("protected"))) = 1;
|
||||
libc_cv_protected_data=no
|
||||
if AC_TRY_COMMAND(${CC-cc} -nostdlib -nostartfiles -fPIC -shared conftest.c -o conftest.so); then
|
||||
cat > conftest.c <<EOF
|
||||
extern int bar;
|
||||
int main (void) { return bar; }
|
||||
EOF
|
||||
libc_cv_visibility_attribute=no
|
||||
if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
|
||||
if grep '\.hidden.*foo' conftest.s >/dev/null; then
|
||||
if grep '\.protected.*bar' conftest.s >/dev/null; then
|
||||
libc_cv_visibility_attribute=yes
|
||||
fi
|
||||
fi
|
||||
if AC_TRY_COMMAND(${CC-cc} -nostdlib -nostartfiles conftest.c -o conftest conftest.so); then
|
||||
libc_cv_protected_data=yes
|
||||
fi
|
||||
rm -f conftest.{c,s}
|
||||
])
|
||||
if test $libc_cv_visibility_attribute != yes; then
|
||||
AC_MSG_ERROR(compiler support for visibility attribute is required)
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $libc_cv_visibility_attribute = yes; then
|
||||
AC_CACHE_CHECK(linker support for protected data symbol,
|
||||
libc_cv_protected_data,
|
||||
[cat > conftest.c <<EOF
|
||||
int bar __attribute__ ((visibility ("protected"))) = 1;
|
||||
EOF
|
||||
libc_cv_protected_data=no
|
||||
if AC_TRY_COMMAND(${CC-cc} -nostdlib -nostartfiles -fPIC -shared conftest.c -o conftest.so); then
|
||||
cat > conftest.c <<EOF
|
||||
extern int bar;
|
||||
int main (void) { return bar; }
|
||||
EOF
|
||||
if AC_TRY_COMMAND(${CC-cc} -nostdlib -nostartfiles conftest.c -o conftest conftest.so); then
|
||||
libc_cv_protected_data=yes
|
||||
fi
|
||||
fi
|
||||
rm -f conftest.*
|
||||
])
|
||||
else
|
||||
libc_cv_protected_data=no
|
||||
fi
|
||||
fi
|
||||
rm -f conftest.*
|
||||
])
|
||||
AC_SUBST(libc_cv_protected_data)
|
||||
|
||||
if test $libc_cv_visibility_attribute = yes; then
|
||||
AC_CACHE_CHECK(for broken __attribute__((visibility())),
|
||||
libc_cv_broken_visibility_attribute,
|
||||
[cat > conftest.c <<EOF
|
||||
int foo (int x);
|
||||
int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
|
||||
int bar (int x) { return x; }
|
||||
EOF
|
||||
libc_cv_broken_visibility_attribute=yes
|
||||
if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
|
||||
changequote(,)dnl
|
||||
if grep '\.hidden[ _]foo' conftest.s >/dev/null; then
|
||||
changequote([,])dnl
|
||||
libc_cv_broken_visibility_attribute=no
|
||||
fi
|
||||
fi
|
||||
rm -f conftest.c conftest.s
|
||||
])
|
||||
if test $libc_cv_broken_visibility_attribute = yes; then
|
||||
AC_MSG_ERROR(working compiler support for visibility attribute is required)
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK(for broken __attribute__((alias())),
|
||||
libc_cv_broken_alias_attribute,
|
||||
[cat > conftest.c <<EOF
|
||||
@ -1211,20 +1147,18 @@ if test $libc_cv_broken_alias_attribute = yes; then
|
||||
AC_MSG_ERROR(working alias attribute support required)
|
||||
fi
|
||||
|
||||
if test $libc_cv_visibility_attribute = yes; then
|
||||
AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
|
||||
libc_cv_have_sdata_section,
|
||||
[echo "int i;" > conftest.c
|
||||
libc_cv_have_sdata_section=no
|
||||
if ${CC-cc} $LDFLAGS -fPIC -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
|
||||
| grep '\.sdata' >/dev/null; then
|
||||
libc_cv_have_sdata_section=yes
|
||||
fi
|
||||
rm -f conftest.c conftest.so
|
||||
])
|
||||
if test $libc_cv_have_sdata_section = yes; then
|
||||
AC_DEFINE(HAVE_SDATA_SECTION)
|
||||
fi
|
||||
AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
|
||||
libc_cv_have_sdata_section,
|
||||
[echo "int i;" > conftest.c
|
||||
libc_cv_have_sdata_section=no
|
||||
if ${CC-cc} $LDFLAGS -fPIC -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
|
||||
| grep '\.sdata' >/dev/null; then
|
||||
libc_cv_have_sdata_section=yes
|
||||
fi
|
||||
rm -f conftest.c conftest.so
|
||||
])
|
||||
if test $libc_cv_have_sdata_section = yes; then
|
||||
AC_DEFINE(HAVE_SDATA_SECTION)
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
|
||||
|
Loading…
Reference in New Issue
Block a user