On Wed, Jan 12, 2011 at 12:22 PM, Carmelo AMOROSO
<carmelo.amor...@st.com> wrote:
> From: Salvatore Cro <salvatore....@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....@st.com>
> Signed-off-by: Carmelo Amoroso <carmelo.amor...@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
_______________________________________________
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to