[PATCH 4/5] Add protected symbols support for all architectures

Khem Raj raj.khem at gmail.com
Thu Jan 13 07:07:25 UTC 2011


On 1/12/2011 7:48 AM, Carmelo AMOROSO wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 1/12/2011 4:31 PM, Natanael Copa wrote:
>> On Wed, Jan 12, 2011 at 12:22 PM, Carmelo AMOROSO
>> <carmelo.amoroso at st.com>  wrote:
>>   >  From: Salvatore Cro<salvatore.cro at st.com>
>>   >
>>   >  Protected symbols are global symbols for which interposition is not allowed.
>>   >  We manage them in generic _dl_lookup_hash function. To handle protected symbols
>>   >  we need to get a reference to the module that defines the symbol itself.
>>   >  So we pass a new parameter 'struct symbol_ref' to the __dl_lookup_hash
>>   >  that is defined as below:
>>   >
>>   >  struct symbol_ref {
>>   >   const ElfW(Sym) *sym;
>>   >   struct elf_resolve *tpnt;
>>   >  };
>>   >
>>   >  The tpnt field is used as an ouput parameter and refers to the module which
>> defines
>>   >  the protected symbol.
>>   >  Further it can be used as output parameter for TLS relocations and FDPIC case.
>>   >  The sym field is instead used as an input parameter to detect the visibility
>> of the
>>   >  symbol we are looking-up.
>>   >  In this way we get rid of different signatures for _dl_lookup_hash, allowing
>> to remove
>>   >  the _dl_find_hash wrapper.
>>   >  This new structure is also suitable for prelink integration.
>>   >
>>   >  Signed-off-by: Salvatore Cro<salvatore.cro at st.com>
>>   >  Signed-off-by: Carmelo Amoroso<carmelo.amoroso at st.com>
>>   >  ---
>>   >   ldso/include/dl-hash.h        |   16 ++++++++--------
>>   >   ldso/ldso/arm/elfinterp.c     |    6 +++++-
>>   >   ldso/ldso/avr32/elfinterp.c   |   13 +++++++------
>>   >   ldso/ldso/bfin/elfinterp.c    |   18 ++++++++++++------
>>   >   ldso/ldso/cris/elfinterp.c    |    5 ++++-
>>   >   ldso/ldso/dl-hash.c           |   20 ++++++++++++--------
>>   >   ldso/ldso/i386/elfinterp.c    |    6 +++++-
>>   >   ldso/ldso/m68k/elfinterp.c    |   15 ++++++++-------
>>   >   ldso/ldso/mips/elfinterp.c    |    6 +++++-
>>   >   ldso/ldso/powerpc/elfinterp.c |   20 +++++++++++---------
>>   >   ldso/ldso/sh/elfinterp.c      |   10 +++++++---
>>   >   ldso/ldso/sh64/elfinterp.c    |    7 +++++--
>>   >   ldso/ldso/sparc/elfinterp.c   |   24 +++++++++++++-----------
>>   >   ldso/ldso/x86_64/elfinterp.c  |   20 +++++++++++---------
>>   >   ldso/ldso/xtensa/elfinterp.c  |   11 ++++++-----
>>   >   ldso/libdl/libdl.c            |    7 ++++---
>>   >   16 files changed, 123 insertions(+), 81 deletions(-)
>>
>> this didnt apply against current git master?
>>
>> maybe needs a rebase?
>>
>> -nc
>>
> Hi you need to apply also the patch 1,2 and 3 that revert the arch
> specific implementation (sh, asrm i386). The patch set was created
> against an updated master branch.
>

Hi Carmelo

As few other noted. I am having same problem applying 4/5 patch
first three apply cleanly. Please consider rebasing on git master
and git-format/git send-email once again please.

-Khem

> Cheers,
> carmelo
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAk0tzToACgkQoRq/3BrK1s+LYgCdESi0xoazi+ss5ZqVgmmmjUjq
> deEAn3XCc3WZghlrzXFZAqydvPnTA89K
> =OHWD
> -----END PGP SIGNATURE-----
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://lists.busybox.net/mailman/listinfo/uclibc



More information about the uClibc mailing list