Patch for rtld.c
Andreas Jaeger
aj@suse.de
Mon Feb 14 07:42:00 GMT 2000
I've read today through rtld.c and noticed that we have a check for
_dl_rtld_map.l_opencount > 0 in dl_main but initialize it to 1.
Looking closer together with Andreas Schwab, he found that the
following change changed one place where l_opencount was incremented
- but this place was forgotten:
1998-05-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/rtld.c (dl_main): Fix check for number of references to
interpreter object.
I'm appending a patch to fix this (l_opencount == 1 means there's no
explicit ref).
Andreas
2000-02-14 Andreas Jaeger <aj@suse.de>
* elf/rtld.c (dl_main): Fix check for references to dynamic
linker.
Index: elf/rtld.c
*** rtld.c 1999/08/19 23:17:32 1.154
--- rtld.c 2000/02/14 15:35:29
***************
*** 1041,1047 ****
/* We must prepare the profiling. */
_dl_start_profile (_dl_profile_map, _dl_profile_output);
! if (_dl_rtld_map.l_opencount > 0)
{
/* There was an explicit ref to the dynamic linker as a shared lib.
Re-relocate ourselves with user-controlled symbol definitions. */
--- 1041,1047 ----
/* We must prepare the profiling. */
_dl_start_profile (_dl_profile_map, _dl_profile_output);
! if (_dl_rtld_map.l_opencount > 1)
{
/* There was an explicit ref to the dynamic linker as a shared lib.
Re-relocate ourselves with user-controlled symbol definitions. */
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.rhein-neckar.de
More information about the Libc-hacker
mailing list