diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-10-15 19:47:55 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-10-15 19:47:55 +0000 |
commit | 75b0964bc8f00400056449eceb8ab57c8eb3fde2 (patch) | |
tree | c78a7cc6861f1bd061197a1f9a905c760467c09d | |
parent | 30f58bb19238bfc5f617978f3201c2c42d2828f4 (diff) | |
download | glibc-75b0964bc8f00400056449eceb8ab57c8eb3fde2.zip glibc-75b0964bc8f00400056449eceb8ab57c8eb3fde2.tar.gz glibc-75b0964bc8f00400056449eceb8ab57c8eb3fde2.tar.bz2 |
Remove .previous, .popsection configure tests.
There is a configure test for the assembler .previous directive, and,
as a fallback, for .popsection.
glibc now only supports ELF. For ELF, the GNU assembler has supported
.previous since version 2.2 (support added by
Mon Jul 19 15:21:20 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
* config/obj-elf.c (obj_elf_previous): New function.
(previous_section, previous_subsection): New vars.
(obj_elf_section): Save current place in case DWARF code wants us
to pop back to it. Handle unquoted section name as well as quoted
section name. Don't crash on invalid strings.
(obj_pseudo_table): Handle new pseudos "previous", "2byte", and
"4byte".
). Thus this configure test is obsolete, and this patch removes it
(and with it the fallback .popsection test).
Tested for x86_64 and x86 (testsuite, and that installed shared
libraries are unchanged by the patch).
* configure.ac (libc_cv_asm_previous_directive): Remove configure
test.
(libc_cv_asm_popsection_directive): Likewise.
* configure: Regenerated.
* config.h.in (HAVE_ASM_PREVIOUS_DIRECTIVE): Remove #undef.
(HAVE_ASM_POPSECTION_DIRECTIVE): Likewise.
* include/libc-symbols.h [HAVE_ASM_PREVIOUS_DIRECTIVE]
(__make_section_unallocated): Make definition unconditional.
[HAVE_ASM_POPSECTION_DIRECTIVE] (__make_section_unallocated):
Remove conditional definition.
[!HAVE_ASM_PREVIOUS_DIRECTIVE && !HAVE_ASM_POPSECTION_DIRECTIVE]
(__make_section_unallocated): Likewise.
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | config.h.in | 8 | ||||
-rwxr-xr-x | configure | 55 | ||||
-rw-r--r-- | configure.ac | 31 | ||||
-rw-r--r-- | include/libc-symbols.h | 9 |
5 files changed, 14 insertions, 102 deletions
@@ -1,5 +1,18 @@ 2015-10-15 Joseph Myers <joseph@codesourcery.com> + * configure.ac (libc_cv_asm_previous_directive): Remove configure + test. + (libc_cv_asm_popsection_directive): Likewise. + * configure: Regenerated. + * config.h.in (HAVE_ASM_PREVIOUS_DIRECTIVE): Remove #undef. + (HAVE_ASM_POPSECTION_DIRECTIVE): Likewise. + * include/libc-symbols.h [HAVE_ASM_PREVIOUS_DIRECTIVE] + (__make_section_unallocated): Make definition unconditional. + [HAVE_ASM_POPSECTION_DIRECTIVE] (__make_section_unallocated): + Remove conditional definition. + [!HAVE_ASM_PREVIOUS_DIRECTIVE && !HAVE_ASM_POPSECTION_DIRECTIVE] + (__make_section_unallocated): Likewise. + * configure.ac (libc_cv_gcc_static_libgcc): Remove configure test. * configure: Regenerated. * config.make.in (static-libgcc): Remove variable. diff --git a/config.h.in b/config.h.in index 5fd4897..40c2d45 100644 --- a/config.h.in +++ b/config.h.in @@ -43,14 +43,6 @@ /* Define if _Unwind_Find_FDE should be exported from glibc. */ #undef EXPORT_UNWIND_FIND_FDE -/* Define if using ELF and the assembler supports the `.previous' - directive. */ -#undef HAVE_ASM_PREVIOUS_DIRECTIVE - -/* Define if using ELF and the assembler supports the `.popsection' - directive. */ -#undef HAVE_ASM_POPSECTION_DIRECTIVE - /* Define if static NSS modules are wanted. */ #undef DO_STATIC_NSS @@ -5593,61 +5593,6 @@ if test $libc_cv_asm_unique_object = yes; then fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5 -$as_echo_n "checking for .previous assembler directive... " >&6; } -if ${libc_cv_asm_previous_directive+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.s <<EOF -.section foo_section -.previous -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_previous_directive=yes -else - libc_cv_asm_previous_directive=no -fi -rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_previous_directive" >&5 -$as_echo "$libc_cv_asm_previous_directive" >&6; } -if test $libc_cv_asm_previous_directive = yes; then - $as_echo "#define HAVE_ASM_PREVIOUS_DIRECTIVE 1" >>confdefs.h - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .popsection assembler directive" >&5 -$as_echo_n "checking for .popsection assembler directive... " >&6; } -if ${libc_cv_asm_popsection_directive+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.s <<EOF -.pushsection foo_section -.popsection -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_popsection_directive=yes - else - libc_cv_asm_popsection_directive=no - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_popsection_directive" >&5 -$as_echo "$libc_cv_asm_popsection_directive" >&6; } - if test $libc_cv_asm_popsection_directive = yes; then - $as_echo "#define HAVE_ASM_POPSECTION_DIRECTIVE 1" >>confdefs.h - - fi -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 047c632..384bf3f 100644 --- a/configure.ac +++ b/configure.ac @@ -1138,37 +1138,6 @@ if test $libc_cv_asm_unique_object = yes; then AC_DEFINE(HAVE_ASM_UNIQUE_OBJECT) fi -AC_CACHE_CHECK(for .previous assembler directive, - libc_cv_asm_previous_directive, [dnl -cat > conftest.s <<EOF -.section foo_section -.previous -EOF -if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then - libc_cv_asm_previous_directive=yes -else - libc_cv_asm_previous_directive=no -fi -rm -f conftest*]) -if test $libc_cv_asm_previous_directive = yes; then - AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) -else - AC_CACHE_CHECK(for .popsection assembler directive, - libc_cv_asm_popsection_directive, [dnl - cat > conftest.s <<EOF -.pushsection foo_section -.popsection -EOF - if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then - libc_cv_asm_popsection_directive=yes - else - libc_cv_asm_popsection_directive=no - fi - rm -f conftest*]) - if test $libc_cv_asm_popsection_directive = yes; then - AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) - fi -fi AC_CACHE_CHECK(for .protected and .hidden assembler directive, libc_cv_asm_protected_directive, [dnl cat > conftest.s <<EOF diff --git a/include/libc-symbols.h b/include/libc-symbols.h index 743b6f6..e2c63fc 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -175,15 +175,8 @@ /* When a reference to SYMBOL is encountered, the linker will emit a warning message MSG. */ /* We want the .gnu.warning.SYMBOL section to be unallocated. */ -#ifdef HAVE_ASM_PREVIOUS_DIRECTIVE -# define __make_section_unallocated(section_string) \ +#define __make_section_unallocated(section_string) \ asm (".section " section_string "\n\t.previous"); -#elif defined HAVE_ASM_POPSECTION_DIRECTIVE -# define __make_section_unallocated(section_string) \ - asm (".pushsection " section_string "\n\t.popsection"); -#else -# define __make_section_unallocated(section_string) -#endif /* Tacking on "\n\t#" to the section name makes gcc put it's bogus section attributes on what looks like a comment to the assembler. */ |