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

Carmelo AMOROSO carmelo.amoroso at st.com
Thu Jan 13 15:17:42 UTC 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 1/13/2011 9:09 AM, Carmelo Amoroso wrote:
> 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:
> 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
> 

I've understood... I'm now using the damned M$ Exchange server instead
of the older ST imap so the patch are arriving malformed due to MS.

Please find attach a tar.gz with all the patch set.

I'm really sorry.

Carmelo


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

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0vF5YACgkQoRq/3BrK1s/4IACg5dvM0XSgHe4KQMXFx3SCrke5
EKQAoLGLpHRG9wjZXhtklyGyiMh6vJl7
=nLx+
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: protected_symbols_patches.tar.gz
Type: application/gzip
Size: 8203 bytes
Desc: protected_symbols_patches.tar.gz
URL: <http://lists.busybox.net/pipermail/uclibc/attachments/20110113/dc0882f0/attachment.bin>


More information about the uClibc mailing list