OSDN Git Service

Merge remote-tracking branch 'origin/master' into prelink
authorCarmelo Amoroso <carmelo.amoroso@st.com>
Fri, 24 Jun 2011 14:24:25 +0000 (16:24 +0200)
committerCarmelo Amoroso <carmelo.amoroso@st.com>
Fri, 24 Jun 2011 14:24:25 +0000 (16:24 +0200)
* origin/master: (61 commits)
  fts: fix warning due to old-style function definition
  ldso_tls: fix compiler warning due to missing cast
  resolv: fix bug in res_init with ipv6 nameservers
  config: Fix passing defconfig args
  buildsys: pt-initfini.s depends on uClibc_config.h
  libdl: search for ELF_RTYPE_CLASS_DLSYM in dlsym()
  resolv: try next server on SERVFAIL
  getaddrinfo: allow numeric service without any hints
  bump version to 0.9.33-git
  nptl/pthread: Correct path for machine specific pt-initfini.c
  ctor/dtor nptl: Fix init and fini function compilation
  Rules.mak: Rearrange appending UCLIBC_EXTRA_CFLAGS to CFLAGS
  ARM: remove EABI/OABI selection
  ARM: detect BX availibility at build time
  ARM: #include <bits/arm_asm.h> where __USE_BX__ is used
  ARM: transform the EABI/OABI choice into a boolean
  ARM: remove sub-arch/variants selection from menuconfig
  ARM: introduce blind options to select & force THUMB mode
  ARM: reorder "Use BX" option
  Fix __libc_epoll_pwait compile failure on x86
  ...

Conflicts:
ldso/libdl/libdl.c

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
1  2 
Makerules
extra/Configs/Config.in
ldso/include/dl-defs.h
ldso/ldso/dl-elf.c
ldso/libdl/libdl.c

diff --cc Makerules
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -706,12 -667,12 +706,12 @@@ void *dlsym(void *vhandle, const char *
        tpnt = NULL;
        if (handle == _dl_symbol_tables)
                tpnt = handle->dyn; /* Only search RTLD_GLOBAL objs if global object */
-       ret = _dl_find_hash(name2, &handle->dyn->symbol_scope, tpnt, 0, &sym_ref);
 -      ret = _dl_find_hash(name2, handle, tpnt, ELF_RTYPE_CLASS_DLSYM, &sym_ref);
++      ret = _dl_find_hash(name2, &handle->dyn->symbol_scope, tpnt, ELF_RTYPE_CLASS_DLSYM, &sym_ref);
  
  #if defined(USE_TLS) && USE_TLS && defined SHARED
 -      if (sym_ref.tpnt) {
 +      if (sym_ref.sym && (ELF_ST_TYPE(sym_ref.sym->st_info) == STT_TLS) && (sym_ref.tpnt)) {
                /* The found symbol is a thread-local storage variable.
-               Return the address for to the current thread.  */
+               Return its address for the current thread.  */
                ret = _dl_tls_symaddr ((struct link_map *)sym_ref.tpnt, (Elf32_Addr)ret);
        }
  #endif