[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