[PATCH] _dl_find_hash: skip lookup if the DSO hasn't an hash table

Carmelo AMOROSO carmelo.amoroso at st.com
Mon Sep 24 14:06:14 UTC 2007


Mike Frysinger wrote:
> On Wednesday 19 September 2007, Carmelo AMOROSO wrote:
>   
>> Mike Frysinger wrote:
>>     
>>> On Wednesday 19 September 2007, Carmelo AMOROSO wrote:
>>>       
>>>> attached patch for the ld.so checks that during symbol lookup
>>>> process, the DSO has an hash table, otherwise we need to skip
>>>> over the next into the list.
>>>>         
>>> idle curiosity, how did you generate a DSO w/out a hash table ?  or is
>>> this a "it's got a GNU hash table but not a SYSV hash table" ?
>>>       
>> I didn't actually... could be considered in preparation of supporting
>> GNU hash style.
>>     
Wrong, this check it doesn't depend on the kind of hash/lookup process, 
sorry for that,
so my previous sentence is not correct.
The check is against "empty hash table", whatever they are (gnu/sysv).
Same check has been added into glibc rev 1.34 
(http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/elf/do-lookup.h.diff?r1=1.33&r2=1.34&cvsroot=glibc&f=h)
where the support for GNU was added, but for what I can understand, it 
is not related to the GNU hash support.

>> Anyway, looking at the _dl_add_elf_hash_table, there is a null check for
>> the dynamic_info[DT_HASH],
>> that, should be alway not null, being initialized by
>> "_dl_parse_dynamic_info", so for coherence I added that check
>>
>> Discard this patch if you think currently not pointless.
>>     
>
> i'm not saying the patch is pointless, just curious as to why you were 
> proposing it in the first place
>   
How create and empty hash table [GNU/sysv], I don't know... but if this 
could happen, then the check is correct.
> -mike
>   




More information about the uClibc mailing list