diff options
Diffstat (limited to 'csu/gmon-start.c')
-rw-r--r-- | csu/gmon-start.c | 16 |
1 files changed, 3 insertions, 13 deletions
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); |