[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