Source-Changes-HG archive

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

[src/trunk]: src/libexec/ld.elf_so Go back to skipping init/fini handling for...



details:   https://anonhg.NetBSD.org/src/rev/9269f902bc9f
branches:  trunk
changeset: 331837:9269f902bc9f
user:      joerg <joerg%NetBSD.org@localhost>
date:      Tue Aug 26 12:14:14 2014 +0000

description:
Go back to skipping init/fini handling for ldd, makes problems for 32bit
compat on LP64.

diffstat:

 libexec/ld.elf_so/headers.c |  10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diffs (33 lines):

diff -r ad2a5681457d -r 9269f902bc9f libexec/ld.elf_so/headers.c
--- a/libexec/ld.elf_so/headers.c       Tue Aug 26 11:55:54 2014 +0000
+++ b/libexec/ld.elf_so/headers.c       Tue Aug 26 12:14:14 2014 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: headers.c,v 1.56 2014/08/26 07:54:27 christos Exp $     */
+/*     $NetBSD: headers.c,v 1.57 2014/08/26 12:14:14 joerg Exp $        */
 
 /*
  * Copyright 1996 John D. Polstra.
@@ -40,7 +40,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: headers.c,v 1.56 2014/08/26 07:54:27 christos Exp $");
+__RCSID("$NetBSD: headers.c,v 1.57 2014/08/26 12:14:14 joerg Exp $");
 #endif /* not lint */
 
 #include <err.h>
@@ -344,10 +344,12 @@
                        obj->relalim = obj->pltrela;
        }
 
+#ifdef RTLD_LOADER
        if (init != 0)
-               obj->init = (Elf_Addr) RTLD_ELF32_CAST obj->relocbase + init;
+               obj->init = (Elf_Addr) obj->relocbase + init;
        if (fini != 0)
-               obj->fini = (Elf_Addr) RTLD_ELF32_CAST obj->relocbase + fini;
+               obj->fini = (Elf_Addr) obj->relocbase + fini;
+#endif
 
        if (dyn_rpath != NULL) {
                _rtld_add_paths(execname, &obj->rpaths, obj->strtab +



Home | Main Index | Thread Index | Old Index