summaryrefslogtreecommitdiff
path: root/libexec/ld.so/library_mquery.c
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2003-09-02 15:17:53 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2003-09-02 15:17:53 +0000
commit4418bcd8245d1be69f59c3508fac853c9ad5e38b (patch)
tree30ba7368f7462d65a290542718c610719da5d3e9 /libexec/ld.so/library_mquery.c
parent2bf9849879f2b7cde901a0c55c2f0984c74ddecb (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.c7
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);
}
}