about summary refs log tree commit diff
path: root/csu
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2012-01-08 11:14:07 +0100
committerAndreas Schwab <schwab@linux-m68k.org>2012-02-08 20:31:55 +0100
commit26ecc33a0290293ff779f76ac0324381b6dfafda (patch)
treece7eba73691cf8e986713fc4e35b5c170dc46efc /csu
parent2832840339c561d42ec60e18c009376d828692ea (diff)
downloadglibc-26ecc33a0290293ff779f76ac0324381b6dfafda.tar.gz
glibc-26ecc33a0290293ff779f76ac0324381b6dfafda.tar.xz
glibc-26ecc33a0290293ff779f76ac0324381b6dfafda.zip
Remove have-initfini and need-nopic-initfini
Diffstat (limited to 'csu')
-rw-r--r--csu/Makefile6
-rw-r--r--csu/gmon-start.c16
2 files changed, 3 insertions, 19 deletions
diff --git a/csu/Makefile b/csu/Makefile
index 05bc0e47e5..a67919ef84 100644
--- a/csu/Makefile
+++ b/csu/Makefile
@@ -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).
 
diff --git a/csu/gmon-start.c b/csu/gmon-start.c
index 7d585e135f..107153ff4e 100644
--- a/csu/gmon-start.c
+++ b/csu/gmon-start.c
@@ -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);