Deleted Added
full compact
25c25
< * $FreeBSD: head/libexec/rtld-elf/rtld.c 70677 2001-01-05 04:36:17Z jdp $
---
> * $FreeBSD: head/libexec/rtld-elf/rtld.c 76296 2001-05-05 23:21:05Z jdp $
430c430
< def = find_symdef(ELF_R_SYM(rel->r_info), obj, &defobj, true);
---
> def = find_symdef(ELF_R_SYM(rel->r_info), obj, &defobj, true, NULL);
824c824
< const Obj_Entry **defobj_out, bool in_plt)
---
> const Obj_Entry **defobj_out, bool in_plt, SymCache *cache)
831a832,842
> /*
> * If we have already found this symbol, get the information from
> * the cache.
> */
> if (symnum >= refobj->nchains)
> return NULL; /* Bad object */
> if (cache != NULL && cache[symnum].sym != NULL) {
> *defobj_out = cache[symnum].obj;
> return cache[symnum].sym;
> }
>
848c859
< if (def != NULL)
---
> if (def != NULL) {
850c861,866
< else
---
> /* Record the information in the cache to avoid subsequent lookups. */
> if (cache != NULL) {
> cache[symnum].sym = def;
> cache[symnum].obj = defobj;
> }
> } else
1929c1945
< if (strcmp(name, strp) == 0)
---
> if (name[0] == strp[0] && strcmp(name, strp) == 0)