diff options
| author | Alexander Kabaev <kan@FreeBSD.org> | 2004-02-25 17:06:16 +0000 |
|---|---|---|
| committer | Alexander Kabaev <kan@FreeBSD.org> | 2004-02-25 17:06:16 +0000 |
| commit | 2627f3570d94f35e40cabf7861bb82048fe8395b (patch) | |
| tree | 6a3541f1e44c9664f347fd5441d6e53e1cf418bd /libexec/rtld-elf | |
| parent | c3c75c8376d688b1fdf0a5e219acd0e0a5e8956e (diff) | |
Notes
Diffstat (limited to 'libexec/rtld-elf')
| -rw-r--r-- | libexec/rtld-elf/rtld.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 73568d6478bd..7981fa904131 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -54,7 +54,6 @@ #include "rtld.h" #include "libmap.h" -#define END_SYM "_end" #define PATH_RTLD "/libexec/ld-elf.so.1" /* Types. */ @@ -1229,18 +1228,12 @@ load_object(char *path) static Obj_Entry * obj_from_addr(const void *addr) { - unsigned long endhash; Obj_Entry *obj; - endhash = elf_hash(END_SYM); for (obj = obj_list; obj != NULL; obj = obj->next) { - const Elf_Sym *endsym; - if (addr < (void *) obj->mapbase) continue; - if ((endsym = symlook_obj(END_SYM, endhash, obj, true)) == NULL) - continue; /* No "end" symbol?! */ - if (addr < (void *) (obj->relocbase + endsym->st_value)) + if (addr < (void *) (obj->mapbase + obj->mapsize)) return obj; } return NULL; |
