This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Can the dynamic linker run with !rtld_multiple_ref?

On 06/25/2017 12:20 PM, Florian Weimer wrote:
> On 03/17/2017 04:21 AM, Mike Frysinger wrote:
>> On 24 Jan 2017 12:16, Florian Weimer wrote:
>>> It seems that has a DT_NEEDED entry for the dynamic linker on 
>>> all architectures because we need to dlopen objects even when not 
>>> linking against libdl (for gconv and NSS).  The startup code references 
>>> __libc_start_main, which is defined in  Therefore, it seems 
>>> that rtld_multiple_ref in rtld.c is always true.
>>> Is this correct?  If yes, then we can clean this up a bit.
>> looking at just purely symbol pov, these are provided by ld-linux but
>> used by
>>  _dl_argv
>>  ___tls_get_addr
>>  _rtld_global_ro
>>  _rtld_global
>>  __libc_enable_secure
>>  __libc_stack_end
> Does this mean that you agree that rtld_multiple_ref is always true?

My understanding is that with modern glibc we always build
in such a way that we will always reference, and so rtld_multiple_ref
should always be true.

IIRC this was not always true for older glibc that I've worked on before,
and I've had to adjust old build infrastructure to fix such things.


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