Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-1-6]: src/libexec/ld.elf_so Pull up revision 1.16 via patch (requ...



details:   https://anonhg.NetBSD.org/src/rev/851ad86ec3ba
branches:  netbsd-1-6
changeset: 530654:851ad86ec3ba
user:      tron <tron%NetBSD.org@localhost>
date:      Fri Sep 05 19:14:54 2003 +0000

description:
Pull up revision 1.16 via patch (requested by dmcmahill in ticket #1395):
Remove all of the `mark' code.  This is responsible for the `undefined
PLT
symbol' errors, probably because the increment gets interrupted
occasionally by
a signal.  In general, _rtld_bind() should not modify ANY internal
state.

diffstat:

 libexec/ld.elf_so/symbol.c |  7 +------
 1 files changed, 1 insertions(+), 6 deletions(-)

diffs (31 lines):

diff -r 0d5a7784f963 -r 851ad86ec3ba libexec/ld.elf_so/symbol.c
--- a/libexec/ld.elf_so/symbol.c        Fri Sep 05 18:17:00 2003 +0000
+++ b/libexec/ld.elf_so/symbol.c        Fri Sep 05 19:14:54 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: symbol.c,v 1.11 2001/10/14 23:13:21 rafal Exp $         */
+/*     $NetBSD: symbol.c,v 1.11.2.1 2003/09/05 19:14:54 tron Exp $      */
 
 /*
  * Copyright 1996 John D. Polstra.
@@ -85,9 +85,6 @@
        def = NULL;
        defobj = NULL;
        for (elm = SIMPLEQ_FIRST(objlist); elm; elm = SIMPLEQ_NEXT(elm, link)) {
-               if (elm->obj->mark == _rtld_curmark)
-                       continue;
-               elm->obj->mark = _rtld_curmark;
                if ((symp = _rtld_symlook_obj(name, hash, elm->obj, in_plt))
                    != NULL) {
                        if ((def == NULL) ||
@@ -178,11 +175,9 @@
        hash = _rtld_elf_hash(name);
        def = NULL;
        defobj = NULL;
-       _rtld_curmark++;
        
        if (refobj->symbolic) { /* Look first in the referencing object */
                symp = _rtld_symlook_obj(name, hash, refobj, in_plt);
-               refobj->mark = _rtld_curmark;
                if (symp != NULL) {
                        def = symp;
                        defobj = refobj;



Home | Main Index | Thread Index | Old Index