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.54 via patch (requ...
details: https://anonhg.NetBSD.org/src/rev/70497972b5fc
branches: netbsd-1-6
changeset: 530655:70497972b5fc
user: tron <tron%NetBSD.org@localhost>
date: Fri Sep 05 19:15:01 2003 +0000
description:
Pull up revision 1.54 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/rtld.c | 9 +--------
1 files changed, 1 insertions(+), 8 deletions(-)
diffs (51 lines):
diff -r 851ad86ec3ba -r 70497972b5fc libexec/ld.elf_so/rtld.c
--- a/libexec/ld.elf_so/rtld.c Fri Sep 05 19:14:54 2003 +0000
+++ b/libexec/ld.elf_so/rtld.c Fri Sep 05 19:15:01 2003 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: rtld.c,v 1.48 2002/02/03 23:34:42 thorpej Exp $ */
+/* $NetBSD: rtld.c,v 1.48.2.1 2003/09/05 19:15:01 tron Exp $ */
/*
* Copyright 1996 John D. Polstra.
@@ -88,7 +88,6 @@
Obj_Entry *_rtld_objmain; /* The main program shared object */
Obj_Entry _rtld_objself; /* The dynamic linker shared object */
char _rtld_path[] = _PATH_RTLD;
-unsigned long _rtld_curmark; /* Current mark value */
Elf_Sym _rtld_sym_zero; /* For resolving undefined weak refs. */
#ifdef VARPSZ
int _rtld_pagesz; /* Page size, as provided by kernel */
@@ -567,7 +566,6 @@
_rtld_init_dag(root)
Obj_Entry *root;
{
- _rtld_curmark++;
_rtld_init_dag1(root, root);
}
@@ -578,9 +576,6 @@
{
const Needed_Entry *needed;
- if (obj->mark == _rtld_curmark)
- return;
- obj->mark = _rtld_curmark;
_rtld_objlist_add(&obj->dldags, root);
_rtld_objlist_add(&root->dagmembers, obj);
for (needed = obj->needed; needed != NULL; needed = needed->next)
@@ -737,7 +732,6 @@
hash = _rtld_elf_hash(name);
obj = _rtld_objmain;
- _rtld_curmark++;
def = _rtld_symlook_list(name, hash, &_rtld_list_main, &obj, true);
if (def != NULL)
@@ -788,7 +782,6 @@
if (obj->mainprog) {
/* Search main program and all libraries loaded by it. */
- _rtld_curmark++;
def = _rtld_symlook_list(name, hash, &_rtld_list_main, &defobj, true);
} else {
/*
Home |
Main Index |
Thread Index |
Old Index