diff options
-rw-r--r-- | libexec/ld.so/dlfcn.c | 16 | ||||
-rw-r--r-- | libexec/ld.so/resolve.c | 9 | ||||
-rw-r--r-- | libexec/ld.so/resolve.h | 4 |
3 files changed, 3 insertions, 26 deletions
diff --git a/libexec/ld.so/dlfcn.c b/libexec/ld.so/dlfcn.c index e7fe6983286..c12d7313867 100644 --- a/libexec/ld.so/dlfcn.c +++ b/libexec/ld.so/dlfcn.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dlfcn.c,v 1.63 2005/10/06 21:53:09 kurt Exp $ */ +/* $OpenBSD: dlfcn.c,v 1.64 2005/10/06 22:01:58 kurt Exp $ */ /* * Copyright (c) 1998 Per Fogelstrom, Opsycon AB @@ -86,18 +86,8 @@ dlopen(const char *libname, int flags) n->data = object; TAILQ_INSERT_TAIL(&object->dload_list, n, next_sib); - - /* - * Check for 'needed' objects. For each 'needed' object we - * create a 'shadow' object and add it to a list attached to - * the object so we know our dependencies. This list should - * also be used to determine the library search order when - * resolving undefined symbols. This is not yet done. XXX - */ dynobj = object; while (dynobj) { - elf_object_t *tmpobj = dynobj; - for (dynp = dynobj->load_dyn; dynp->d_tag; dynp++) { elf_object_t *depobj; @@ -116,10 +106,6 @@ dlopen(const char *libname, int flags) /* this add_object should not be here, XXX */ _dl_add_object(depobj); _dl_link_sub(depobj, dynobj); - - tmpobj->dep_next = _dl_malloc(sizeof(elf_object_t)); - tmpobj->dep_next->next = depobj; - tmpobj = tmpobj->dep_next; } dynobj = dynobj->next; } diff --git a/libexec/ld.so/resolve.c b/libexec/ld.so/resolve.c index e17ab6e315c..4cfe0dcd9f2 100644 --- a/libexec/ld.so/resolve.c +++ b/libexec/ld.so/resolve.c @@ -1,4 +1,4 @@ -/* $OpenBSD: resolve.c,v 1.39 2005/10/06 21:53:10 kurt Exp $ */ +/* $OpenBSD: resolve.c,v 1.40 2005/10/06 22:01:58 kurt Exp $ */ /* * Copyright (c) 1998 Per Fogelstrom, Opsycon AB @@ -215,8 +215,6 @@ _dl_cleanup_objects() void _dl_remove_object(elf_object_t *object) { - elf_object_t *depobj; - object->prev->next = object->next; if (object->next) object->next->prev = object->prev; @@ -224,11 +222,6 @@ _dl_remove_object(elf_object_t *object) if (_dl_last_object == object) _dl_last_object = object->prev; - while ((depobj = object->dep_next)) { - object->dep_next = object->dep_next->dep_next; - _dl_free(depobj); - } - object->next = free_objects; free_objects = object; } diff --git a/libexec/ld.so/resolve.h b/libexec/ld.so/resolve.h index b115a85d9ab..12fca093e8b 100644 --- a/libexec/ld.so/resolve.h +++ b/libexec/ld.so/resolve.h @@ -1,4 +1,4 @@ -/* $OpenBSD: resolve.h,v 1.44 2005/10/06 21:53:10 kurt Exp $ */ +/* $OpenBSD: resolve.h,v 1.45 2005/10/06 22:01:58 kurt Exp $ */ /* * Copyright (c) 1998 Per Fogelstrom, Opsycon AB @@ -98,8 +98,6 @@ struct elf_object { } Dyn; #define dyn Dyn.u - struct elf_object *dep_next; /* Shadow objects for resolve search */ - int status; #define STAT_RELOC_DONE 0x01 #define STAT_GOT_DONE 0x02 |