mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
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.
This commit is contained in:
@ -1,5 +1,10 @@
|
|||||||
1998-09-08 Ulrich Drepper <drepper@cygnus.com>
|
1998-09-08 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
* elf/dl-object.c (_dl_new_object): Store map address in
|
* elf/dl-object.c (_dl_new_object): Store map address in
|
||||||
_dl_loaded if _dl_loaded is NULL.
|
_dl_loaded if _dl_loaded is NULL.
|
||||||
* elf/rtld.c (dl_main): Don't update _dl_loaded here.
|
* elf/rtld.c (dl_main): Don't update _dl_loaded here.
|
||||||
|
@ -73,7 +73,12 @@ _init (void)
|
|||||||
would come first, and not be profiled. */
|
would come first, and not be profiled. */
|
||||||
extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/
|
extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/
|
||||||
|
|
||||||
|
#ifndef WEAK_GMON_START
|
||||||
__gmon_start__ ();
|
__gmon_start__ ();
|
||||||
|
#else
|
||||||
|
if (__gmon_start__)
|
||||||
|
__gmon_start__ ();
|
||||||
|
#endif
|
||||||
|
|
||||||
asm ("ALIGN");
|
asm ("ALIGN");
|
||||||
asm("END_INIT");
|
asm("END_INIT");
|
||||||
@ -83,6 +88,7 @@ _init (void)
|
|||||||
SECTION(".init");
|
SECTION(".init");
|
||||||
}
|
}
|
||||||
asm ("END_INIT");
|
asm ("END_INIT");
|
||||||
|
#ifndef WEAK_GMON_START
|
||||||
SECTION(".text");
|
SECTION(".text");
|
||||||
|
|
||||||
/* This version of __gmon_start__ is used if no other is found. By providing
|
/* This version of __gmon_start__ is used if no other is found. By providing
|
||||||
@ -94,6 +100,7 @@ __gmon_start__ (void)
|
|||||||
{
|
{
|
||||||
/* do nothing */
|
/* do nothing */
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* End of the _init epilog, beginning of the _fini prolog. */
|
/* End of the _init epilog, beginning of the _fini prolog. */
|
||||||
asm ("\n/*@_init_EPILOG_ENDS*/");
|
asm ("\n/*@_init_EPILOG_ENDS*/");
|
||||||
|
@ -7,3 +7,7 @@ ifeq ($(subdir),elf)
|
|||||||
sysdep-others += lddlibc4
|
sysdep-others += lddlibc4
|
||||||
install-bin += lddlibc4
|
install-bin += lddlibc4
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(subdir),csu)
|
||||||
|
CFLAGS-initfini.s += -DWEAK_GMON_START
|
||||||
|
endif
|
||||||
|
Reference in New Issue
Block a user