about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-10-15 19:47:55 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-10-15 19:47:55 +0000
commit75b0964bc8f00400056449eceb8ab57c8eb3fde2 (patch)
treec78a7cc6861f1bd061197a1f9a905c760467c09d
parent30f58bb19238bfc5f617978f3201c2c42d2828f4 (diff)
downloadglibc-75b0964bc8f00400056449eceb8ab57c8eb3fde2.tar.gz
glibc-75b0964bc8f00400056449eceb8ab57c8eb3fde2.tar.xz
glibc-75b0964bc8f00400056449eceb8ab57c8eb3fde2.zip
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--ChangeLog13
-rw-r--r--config.h.in8
-rwxr-xr-xconfigure55
-rw-r--r--configure.ac31
-rw-r--r--include/libc-symbols.h9
5 files changed, 14 insertions, 102 deletions
diff --git a/ChangeLog b/ChangeLog
index cbcb070fa9..cb49047fae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 5fd4897428..40c2d45009 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
 
diff --git a/configure b/configure
index 3d7b08892d..de49ba6ebe 100755
--- a/configure
+++ b/configure
@@ -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 047c6322a3..384bf3f152 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 743b6f6f5b..e2c63fc392 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.  */