This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Patch for rtld.c



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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]