diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-09-08 23:27:46 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-09-08 23:27:46 +0000 |
commit | dc27836e6bf406c89f2e567a13a194294e9e3875 (patch) | |
tree | 6a2e8e10f398f8673f211186f2a65b5a8a7e0d20 /csu/initfini.c | |
parent | 87c812c2ad2ed5c0d4edf6da1f2fe26251f38925 (diff) | |
download | glibc-dc27836e6bf406c89f2e567a13a194294e9e3875.zip glibc-dc27836e6bf406c89f2e567a13a194294e9e3875.tar.gz glibc-dc27836e6bf406c89f2e567a13a194294e9e3875.tar.bz2 |
Update.
* csu/initfini.c: Don't define __gmon_start__ if WEAK_GMON_START is
defined.
* sysdeps/unix/sysv/linux/i386/Makefile [subdir==csu]: Add
-DWEAK_GMON_START to CFLAGS-initfini.s.
Diffstat (limited to 'csu/initfini.c')
-rw-r--r-- | csu/initfini.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/csu/initfini.c b/csu/initfini.c index 1f74f20..c68a5cf 100644 --- a/csu/initfini.c +++ b/csu/initfini.c @@ -73,7 +73,12 @@ _init (void) would come first, and not be profiled. */ extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/ +#ifndef WEAK_GMON_START __gmon_start__ (); +#else + if (__gmon_start__) + __gmon_start__ (); +#endif asm ("ALIGN"); asm("END_INIT"); @@ -83,6 +88,7 @@ _init (void) SECTION(".init"); } asm ("END_INIT"); +#ifndef WEAK_GMON_START SECTION(".text"); /* This version of __gmon_start__ is used if no other is found. By providing @@ -94,6 +100,7 @@ __gmon_start__ (void) { /* do nothing */ } +#endif /* End of the _init epilog, beginning of the _fini prolog. */ asm ("\n/*@_init_EPILOG_ENDS*/"); |