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