Bernd Schmidt wrote: > Carmelo AMOROSO wrote: > >> based on the patch from Nickolai, here you can find a comprehensive >> patch to fix >> dladdr function. >> >> With the current implementation, the invocation of dladdr((void *) 1, >> &dlinfo) >> will fill dlinfo.dli_fname with the name of the application itself and >> dlinfo.dli_fbase with 0 (the current value of tpnt->loadaddr for the >> main app). >> >> The patch solves this adding a new field into the struct elf_resolve >> named DL_LOADADDR_TYPE mapaddr. >> For shared objects, mapaddr has exactly the same value as loadaddr, >> while for the >> main app it contains the address of the first PT_LOAD segmented loaded. >> >> loadaddr will keep it's value and will used exactly as is (as a in >> memory offset >> with respect to relative addresses from ELF sections). >> While in the DL_ADDR_IN_LOADADDR macro, the new field mapaddr needs to >> be used. >> > > This is broken on FD-PIC, since you treat DL_LOADADDR_TYPE variables as > pointers, defeating the point of abstracting away the type. > > The following patch makes it compile on Blackfin, but I'm unable to test > this on a non-FDPIC system. Does it still work for you? > > > Bernd > Hi Bernd, the fix is fine for me too.. sorry I did not take care of the specificity of bfin. Please, go ahead and commit it. I'll update the nptl branch too.
Regards, Carmelo _______________________________________________ uClibc mailing list uClibc@uclibc.org http://busybox.net/cgi-bin/mailman/listinfo/uclibc