OSDN Git Service

Make sure that the DSO has an hash table into its elf, otherwise skip
authorMike Frysinger <vapier@gentoo.org>
Fri, 28 Sep 2007 20:14:36 +0000 (20:14 -0000)
committerMike Frysinger <vapier@gentoo.org>
Fri, 28 Sep 2007 20:14:36 +0000 (20:14 -0000)
the lookup over next DSO.

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
ldso/ldso/dl-hash.c

index f44d0ec..2043c25 100644 (file)
@@ -161,6 +161,10 @@ char *_dl_find_hash(const char *name, struct dyn_elf *rpnt, struct elf_resolve *
                if ((type_class &  ELF_RTYPE_CLASS_COPY) && tpnt->libtype == elf_executable)
                        continue;
 
+               /* If the hash table is empty there is nothing to do here.  */
+               if (tpnt->nbucket == 0)
+                       continue;
+
                /* Avoid calling .urem here. */
                do_rem(hn, elf_hash_number, tpnt->nbucket);
                symtab = (ElfW(Sym) *) tpnt->dynamic_info[DT_SYMTAB];