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

Carmelo Amoroso carmelo73 at gmail.com
Thu Jan 13 08:09:45 UTC 2011


Hi
It's strange i'll check again and repost

Apologies

Inviato da iPod

Il giorno 13/gen/2011, alle ore 08:07, Khem Raj <raj.khem at gmail.com> ha scritto:

> 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
> 
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://lists.busybox.net/mailman/listinfo/uclibc


More information about the uClibc mailing list