* sysdeps/generic/initfini.c (_init): One less relocation.  Don't
	have extra call to __gmon_start__, use the pointer we already have.
This commit is contained in:
Ulrich Drepper 2000-06-02 01:19:56 +00:00
parent 68979757bc
commit 6c021fdc2f
2 changed files with 8 additions and 4 deletions

View File

@ -1,5 +1,8 @@
2000-06-01 Ulrich Drepper <drepper@redhat.com> 2000-06-01 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/initfini.c (_init): One less relocation. Don't
have extra call to __gmon_start__, use the pointer we already have.
* elf/elf.h (ELF64_R_INFO): Cast sym value to Elf64_Xword before * elf/elf.h (ELF64_R_INFO): Cast sym value to Elf64_Xword before
shifting. shifting.

View File

@ -1,5 +1,5 @@
/* Special .init and .fini section support. /* Special .init and .fini section support.
Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it The GNU C Library is free software; you can redistribute it
@ -72,12 +72,13 @@ _init (void)
module which has a constructor; but then user code's constructors module which has a constructor; but then user code's constructors
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 #ifndef WEAK_GMON_START
__gmon_start__ (); __gmon_start__ ();
#else #else
if (__gmon_start__) void (*gmon_start) (void) = __gmon_start__;
__gmon_start__ ();
if (gmon_start)
gmon_start ();
#endif #endif
asm ("ALIGN"); asm ("ALIGN");