Remove have-initfini and need-nopic-initfini
authorAndreas Schwab <schwab@linux-m68k.org>
Sun, 8 Jan 2012 10:14:07 +0000 (11:14 +0100)
committerAndreas Schwab <schwab@linux-m68k.org>
Wed, 8 Feb 2012 19:31:55 +0000 (20:31 +0100)
ChangeLog
Makeconfig
config.h.in
config.make.in
configure
configure.in
csu/Makefile
csu/gmon-start.c

index cdaba6bbede790d273aee066890b5d2cffe6664e..c016612c590d99664175daa119d1332d82748014 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2012-02-08  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * Makeconfig (have-initfini): Don't set.
+       * config.make.in (have-initfini, need-nopic-initfini): Don't set.
+       * configure.in (nopic_initfini): Don't substitute.
+       * config.h.in (HAVE_INITFINI): Don't #undef.
+       * csu/Makefile (CPPFLAGS): Don't add -DHAVE_INITFINI.
+       * csu/gmon-start.c: Assume HAVE_INITFINI is defined.
+
 2012-02-08  Joseph Myers  <joseph@codesourcery.com>
 
        Support crti.S and crtn.S provided directly by architectures.
index 68547b2122ee7b47bca6f45841d07780218998d1..3d26e6a17e1992fa591af2d71f5aeb7bfe91daf1 100644 (file)
@@ -389,9 +389,6 @@ ifndef asm-CPPFLAGS
 asm-CPPFLAGS =
 endif
 
-# ELF always supports init/fini sections
-have-initfini = yes
-
 ifeq ($(have-as-needed),yes)
 as-needed := -Wl,--as-needed
 no-as-needed := -Wl,--no-as-needed
@@ -405,14 +402,8 @@ no-whole-archive = -Wl,--no-whole-archive
 whole-archive = -Wl,--whole-archive
 
 # Installed name of the startup code.
-ifneq ($(have-initfini),yes)
-# When not having init/fini, there is just one startfile, called crt0.o.
-start-installed-name = crt0.o
-else
-# On systems having init/fini, crt0.o is called crt1.o, and there are
-# some additional bizarre files.
+# The ELF convention is that the startfile is called crt1.o
 start-installed-name = crt1.o
-endif
 # On systems that do not need a special startfile for statically linked
 # binaries, simply set it to the normal name.
 ifndef static-start-installed-name
index 1489476718fd7a2bec54ec0f6a30199b483416b8..632f89fbea5a56cd8af11b03e07502aea3d8f988 100644 (file)
@@ -30,9 +30,6 @@
    assembler instructions per line.  Default is `;'  */
 #undef ASM_LINE_SEP
 
-/* Define if not using ELF, but `.init' and `.fini' sections are available.  */
-#undef HAVE_INITFINI
-
 /* Define if __attribute__((section("foo"))) puts quotes around foo.  */
 #undef  HAVE_SECTION_QUOTES
 
index 75061f6d50558335c47def9a54400fcac26314d9..46a14b4f29850ef4aa418215adef9b61455170c0 100644 (file)
@@ -47,11 +47,9 @@ all-warnings = @all_warnings@
 
 have-z-combreloc = @libc_cv_z_combreloc@
 have-z-execstack = @libc_cv_z_execstack@
-have-initfini = @libc_cv_have_initfini@
 have-Bgroup = @libc_cv_Bgroup@
 have-as-needed = @libc_cv_as_needed@
 libgcc_s_suffix = @libc_cv_libgcc_s_suffix@
-need-nopic-initfini = @nopic_initfini@
 with-fp = @with_fp@
 old-glibc-headers = @old_glibc_headers@
 unwind-find-fde = @libc_cv_gcc_unwind_find_fde@
index 508e1bb58cb2c6fbeaa929f8ce22a5b207d7df2a..ea02e72872d4f5cd6b963f6b272dc0e360fd8215 100755 (executable)
--- a/configure
+++ b/configure
@@ -609,7 +609,6 @@ RELEASE
 VERSION
 mach_interface_list
 DEFINES
-nopic_initfini
 static_nss
 profile
 libc_cv_pic_default
@@ -7672,7 +7671,6 @@ $as_echo "$libc_cv_pic_default" >&6; }
 
 
 
-
 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
   config_makefile=
 else
index 0499d3c2d41319f37e2c502226b123a562a9b885..af42c8ad2f76e824a92c5f51eaf4f96a425d9f0a 100644 (file)
@@ -2180,7 +2180,6 @@ AC_SUBST(libc_cv_pic_default)
 
 AC_SUBST(profile)
 AC_SUBST(static_nss)
-AC_SUBST(nopic_initfini)
 
 AC_SUBST(DEFINES)
 
index 05bc0e47e51699f01072975d93017f7e8b16ea79..a67919ef84d6ce8f2fa35e94b799a9a443a257ba 100644 (file)
@@ -73,10 +73,6 @@ endif
 before-compile += $(objpfx)abi-tag.h
 generated += abi-tag.h
 
-ifeq ($(have-initfini),yes)
-
-CPPFLAGS += -DHAVE_INITFINI
-
 # These are the special initializer/finalizer files.  They are always the
 # first and last file in the link.  crti.o ... crtn.o define the global
 # "functions" _init and _fini to run the .init and .fini sections.
@@ -129,8 +125,6 @@ $(objpfx)defs.h: $(objpfx)initfini.s
 
 endif
 
-endif
-
 extra-objs += abi-note.o init.o
 asm-CPPFLAGS += -I$(objpfx).
 
index 7d585e135f86453240c1c394ad36631e0f1d7c39..107153ff4eb22498cf9bec43040e908e611fa5a9 100644 (file)
@@ -1,5 +1,5 @@
 /* Code to enable profiling at program startup.
-   Copyright (C) 1995,1996,1997,2000,2001,2002 Free Software Foundation, Inc.
+   Copyright (C) 1995,1996,1997,2000,2001,2002,2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -43,23 +43,14 @@ extern char etext[];
 # endif
 #endif
 
-#ifndef HAVE_INITFINI
-/* This function gets called at startup by the normal constructor
-   mechanism.  We link this file together with start.o to produce gcrt1.o,
-   so this constructor will be first in the list.  */
-
-extern void __gmon_start__ (void) __attribute__ ((constructor));
-#else
-/* In ELF and COFF, we cannot use the normal constructor mechanism to call
+/* We cannot use the normal constructor mechanism to call
    __gmon_start__ because gcrt1.o appears before crtbegin.o in the link.
-   Instead crti.o calls it specially (see initfini.c).  */
+   Instead crti.o calls it specially.  */
 extern void __gmon_start__ (void);
-#endif
 
 void
 __gmon_start__ (void)
 {
-#ifdef HAVE_INITFINI
   /* Protect from being called more than once.  Since crti.o is linked
      into every shared library, each of their init functions will call us.  */
   static int called;
@@ -68,7 +59,6 @@ __gmon_start__ (void)
     return;
 
   called = 1;
-#endif
 
   /* Start keeping profiling records.  */
   __monstartup ((u_long) TEXT_START, (u_long) &etext);