Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-1-5]: src/libexec/ld.aout_so Pullup 1.77 [mycroft]:
details: https://anonhg.NetBSD.org/src/rev/0165043d464f
branches: netbsd-1-5
changeset: 490014:0165043d464f
user: tv <tv%NetBSD.org@localhost>
date: Mon Oct 30 23:01:17 2000 +0000
description:
Pullup 1.77 [mycroft]:
In dlopen(), use the main program's library search path, to match semantics of
other systems (and our ELF).
diffstat:
libexec/ld.aout_so/rtld.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diffs (35 lines):
diff -r 51796378e9fc -r 0165043d464f libexec/ld.aout_so/rtld.c
--- a/libexec/ld.aout_so/rtld.c Mon Oct 30 22:59:22 2000 +0000
+++ b/libexec/ld.aout_so/rtld.c Mon Oct 30 23:01:17 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: rtld.c,v 1.76 2000/02/11 00:07:36 thorpej Exp $ */
+/* $NetBSD: rtld.c,v 1.76.4.1 2000/10/30 23:01:17 tv Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -358,6 +358,7 @@
(caddr_t)0, 0, crtp->crt_dp);
LM_PRIVATE(smp)->spd_refcount++;
LM_PRIVATE(smp)->spd_flags |= _RTLD_MAIN | _RTLD_GLOBAL;
+ main_map = smp;
smp = alloc_link_map(us, (struct sod *)0, (struct so_map *)0,
(caddr_t)crtp->crt_ba, 0, dp);
@@ -586,8 +587,6 @@
if (dp == NULL)
return (smp);
-/*XXX*/ if (addr == 0) main_map = smp;
-
#ifdef SUN_COMPAT
smpp->spd_offset =
(addr==0 && dp->d_version==LD_VERSION_SUN) ? PAGSIZ : 0;
@@ -1737,7 +1736,7 @@
build_sod(name, sodp);
- if ((smp = map_object(sodp, 0)) == NULL) {
+ if ((smp = map_object(sodp, main_map)) == NULL) {
#ifdef DEBUG
xprintf("%s: %s\n", name, strerror(errno));
#endif
Home |
Main Index |
Thread Index |
Old Index