diff options
| author | thorpej <thorpej@NetBSD.org> | 2001-12-14 21:25:22 +0000 |
|---|---|---|
| committer | thorpej <thorpej@NetBSD.org> | 2001-12-14 21:25:22 +0000 |
| commit | 6d9f5579ab59469b5a5a36fa2bfe075950b09443 (patch) | |
| tree | 74251d5876a53a51117e8ce2befc002fe023d6a9 /libexec | |
| parent | c7e9af3ef058dfd3ab4da5a84f2c57ebf4df96d1 (diff) | |
Garbage-collect the OLD_GOT stuff.
Diffstat (limited to 'libexec')
| -rw-r--r-- | libexec/ld.elf_so/README | 6 | ||||
| -rw-r--r-- | libexec/ld.elf_so/arch/alpha/rtld_start.S | 6 | ||||
| -rw-r--r-- | libexec/ld.elf_so/rtld.c | 12 |
3 files changed, 4 insertions, 20 deletions
diff --git a/libexec/ld.elf_so/README b/libexec/ld.elf_so/README index 6d366c016ec..7728dc44923 100644 --- a/libexec/ld.elf_so/README +++ b/libexec/ld.elf_so/README @@ -1,4 +1,4 @@ -$NetBSD: README,v 1.6 1999/08/20 21:12:47 christos Exp $ +$NetBSD: README,v 1.7 2001/12/14 21:25:22 thorpej Exp $ BUGS/PROBLEMS: @@ -12,10 +12,6 @@ BUGS/PROBLEMS: It's a workaround for a linker bug, and will go away when the linker is fixed. -* Formerly, _DYNAMIC was _GLOBAL_OFFSET_TABLE_[0], but that isn't true with - newer snapshots of gas/binutils (at least on the Alpha), which support - multiple GOTs. That's what the OLD_GOT #ifdefs are about. - * The method used to relocate ld.so is shoddy and fragile. Currently it's something like: diff --git a/libexec/ld.elf_so/arch/alpha/rtld_start.S b/libexec/ld.elf_so/arch/alpha/rtld_start.S index 9183b30879f..fa575fe8095 100644 --- a/libexec/ld.elf_so/arch/alpha/rtld_start.S +++ b/libexec/ld.elf_so/arch/alpha/rtld_start.S @@ -1,4 +1,4 @@ -/* $NetBSD: rtld_start.S,v 1.7 2001/12/13 22:34:52 thorpej Exp $ */ +/* $NetBSD: rtld_start.S,v 1.8 2001/12/14 21:25:23 thorpej Exp $ */ /* * Copyright 1996 Matt Thomas <matt@3am-software.com> @@ -54,11 +54,7 @@ LEAF_NOPROFILE(_rtld_start, 0) lda t5, _GLOBAL_OFFSET_TABLE_ addq t8, t5, t9 /* add the displacement */ -#if defined(OLD_GOT) - ldq t4, 0(t9) /* Get the address of dynamic table */ -#else lda t4, _GOT_END_ /* Get the address of the end of the GOT */ -#endif addq t8, t4, t10 /* add the displacement */ /* diff --git a/libexec/ld.elf_so/rtld.c b/libexec/ld.elf_so/rtld.c index 054bc460bf3..e0a9bd4e25c 100644 --- a/libexec/ld.elf_so/rtld.c +++ b/libexec/ld.elf_so/rtld.c @@ -1,4 +1,4 @@ -/* $NetBSD: rtld.c,v 1.46 2001/12/14 21:21:27 thorpej Exp $ */ +/* $NetBSD: rtld.c,v 1.47 2001/12/14 21:25:22 thorpej Exp $ */ /* * Copyright 1996 John D. Polstra. @@ -108,12 +108,8 @@ Library_Xform *_rtld_xforms; char *__progname; char **environ; -#ifdef OLD_GOT -extern Elf_Addr _GLOBAL_OFFSET_TABLE_[]; -#else extern Elf_Addr _GLOBAL_OFFSET_TABLE_[]; extern Elf_Dyn _DYNAMIC; -#endif static void _rtld_call_fini_functions __P((Obj_Entry *)); static void _rtld_call_init_functions __P((Obj_Entry *)); @@ -201,11 +197,7 @@ _rtld_init(mapbase, pagesz) objself.pltgot = NULL; -#ifdef OLD_GOT - objself.dynamic = (Elf_Dyn *) _GLOBAL_OFFSET_TABLE_[0]; -#else - objself.dynamic = (Elf_Dyn *) & _DYNAMIC; -#endif + objself.dynamic = (Elf_Dyn *) &_DYNAMIC; #ifdef RTLD_RELOCATE_SELF /* We have not been relocated yet, so fix the dynamic address */ |
