svn commit: trunk/uClibc/ldso: include ldso ldso/bfin libdl

Bernd Schmidt bernds_cb1 at t-online.de
Thu Dec 6 14:41:09 UTC 2007


Carmelo AMOROSO wrote:
>> Modified: trunk/uClibc/ldso/libdl/libdl.c
>> ===================================================================
>> --- trunk/uClibc/ldso/libdl/libdl.c	2007-12-03 22:46:53 UTC (rev 20613)
>> +++ trunk/uClibc/ldso/libdl/libdl.c	2007-12-03 22:54:16 UTC (rev 20614)
>> @@ -500,7 +500,7 @@
>>  	tpnt = NULL;
>>  	if (handle == _dl_symbol_tables)
>>  	   tpnt = handle->dyn; /* Only search RTLD_GLOBAL objs if global object */
>> -	ret = _dl_find_hash(name2, handle, tpnt, 0);
>> +	ret = _dl_find_hash(name2, handle, tpnt, ELF_RTYPE_CLASS_DLSYM);
>>  
>>  	/*
>>  	 * Nothing found.
>>
>>   
> I've not seen how ELF_RTYPE_CLASS_DLSYM is used... have I missed something?
> 

It's hidden away in the FRV/Blackfin specific directories:

/* We want to return to dlsym() a function descriptor if the symbol
   turns out to be a function.  */
#define DL_FIND_HASH_VALUE(TPNT, TYPE_CLASS, SYM) \
  (((TYPE_CLASS) & ELF_RTYPE_CLASS_DLSYM) \
   && ELF32_ST_TYPE((SYM)->st_info) == STT_FUNC \
   ? _dl_funcdesc_for (DL_RELOC_ADDR ((TPNT)->loadaddr,
(SYM)->st_value),    \
                       (TPNT)->loadaddr.got_value)
     \
   : DL_RELOC_ADDR ((TPNT)->loadaddr, (SYM)->st_value))


Bernd
-- 
This footer brought to you by insane German lawmakers.
Analog Devices GmbH      Wilhelm-Wagenfeld-Str. 6      80807 Muenchen
Sitz der Gesellschaft Muenchen, Registergericht Muenchen HRB 40368
Geschaeftsfuehrer Thomas Wessel, William A. Martin, Margaret Seif



More information about the uClibc mailing list