[PATCH V2] ldso: fix fdpic support broken from prelink patch

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Mon Mar 26 13:03:14 UTC 2012


On Sun, Mar 25, 2012 at 02:14:36AM -0400, Mike Frysinger wrote:
>On Wednesday 07 March 2012 04:07:01 Filippo ARCIDIACONO wrote:
>> The fdpic support has been broken since the prelink support was added,
>> because it didn't take into account DL_LOADADDR_TYPE could be a different
>> type of ElfW(Addr).
>
>it compiles now, so that's an improvement :).  i don't have hardware setup atm 
>to test the runtime, but i wouldn't be surprised if there were other issues 
>unrelated that'd break things.
>
>> --- a/ldso/ldso/c6x/dl-sysdep.h
>> +++ b/ldso/ldso/c6x/dl-sysdep.h
>> 
>> +/* Define this to set the library offset. */
>> +#ifndef DL_SET_LIB_OFFSET
>> +# define DL_SET_LIB_OFFSET(offset) (_dl_library_offset = 0)
>> +#endif
>> +
>> +/* Define this to get the real object's load address. */
>> +#ifndef DL_GET_LOADADDR_MAPADDR
>> +# define DL_GET_LOADADDR_MAPADDR(loadaddr, mapaddr) (loadaddr)
>> +#endif
>
>using ifndef in these arch files doesn't make much sense.  just drop those 
>checks.
>
>also, seems like _dl_library_offset is always set to 0.  would make more sense 
>i think to have the macro read:
>#define DL_SET_LIB_OFFSET(offset)
>
>and then add a new macro for declaring the _dl_library_offset variable which 
>the common code would use to setup a static, and these arches would define to 0

I am with Mike on that, Filippo, can you please send an updated patch?

I'd like to get a .1 out the door with this fixed..
TIA,


More information about the uClibc mailing list