diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2003-09-02 15:17:53 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2003-09-02 15:17:53 +0000 |
commit | 4418bcd8245d1be69f59c3508fac853c9ad5e38b (patch) | |
tree | 30ba7368f7462d65a290542718c610719da5d3e9 /libexec/ld.so/library_mquery.c | |
parent | 2bf9849879f2b7cde901a0c55c2f0984c74ddecb (diff) |
Fix PR 3371, symbol lookup in dlopen()ed objects is not correct. Correct
behavior for RTLD_GLOBAL/RTLD_LOCAL is now supported. ok espie@
Diffstat (limited to 'libexec/ld.so/library_mquery.c')
-rw-r--r-- | libexec/ld.so/library_mquery.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libexec/ld.so/library_mquery.c b/libexec/ld.so/library_mquery.c index 17f04c4d5e3..97691a42311 100644 --- a/libexec/ld.so/library_mquery.c +++ b/libexec/ld.so/library_mquery.c @@ -1,4 +1,4 @@ -/* $OpenBSD: library_mquery.c,v 1.12 2003/07/18 14:09:02 drahn Exp $ */ +/* $OpenBSD: library_mquery.c,v 1.13 2003/09/02 15:17:51 drahn Exp $ */ /* * Copyright (c) 2002 Dale Rahn @@ -236,7 +236,7 @@ nohints: */ elf_object_t * -_dl_load_shlib(const char *libname, elf_object_t *parent, int type) +_dl_load_shlib(const char *libname, elf_object_t *parent, int type, int flags) { int try_any_minor, ignore_hints; struct sod sod, req_sod; @@ -270,6 +270,7 @@ again: object = _dl_tryload_shlib(hint, type); if (object != NULL) { _dl_free((char *)sod.sod_name); + object->obj_flags = flags; return (object); } } @@ -291,6 +292,7 @@ again: object = _dl_tryload_shlib(hint, type); if (object != NULL) { _dl_free((char *)sod.sod_name); + object->obj_flags = flags; return (object); } } @@ -308,6 +310,7 @@ again: object = _dl_tryload_shlib(hint, type); if (object != NULL) { _dl_free((char *)sod.sod_name); + object->obj_flags = flags; return(object); } } |