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/arch/alpha Do not use the implicit addend ...



details:   https://anonhg.NetBSD.org/src/rev/6fa3c1b6bbde
branches:  trunk
changeset: 536318:6fa3c1b6bbde
user:      mycroft <mycroft%NetBSD.org@localhost>
date:      Fri Sep 13 05:45:13 2002 +0000

description:
Do not use the implicit addend on REFQUAD relocs (same as GLOB_DAT).

diffstat:

 libexec/ld.elf_so/arch/alpha/alpha_reloc.c |  21 ++++-----------------
 1 files changed, 4 insertions(+), 17 deletions(-)

diffs (48 lines):

diff -r 53abe78363f6 -r 6fa3c1b6bbde libexec/ld.elf_so/arch/alpha/alpha_reloc.c
--- a/libexec/ld.elf_so/arch/alpha/alpha_reloc.c        Fri Sep 13 04:09:49 2002 +0000
+++ b/libexec/ld.elf_so/arch/alpha/alpha_reloc.c        Fri Sep 13 05:45:13 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: alpha_reloc.c,v 1.17 2002/09/12 22:56:29 mycroft Exp $ */
+/*     $NetBSD: alpha_reloc.c,v 1.18 2002/09/13 05:45:13 mycroft Exp $ */
 
 /*
  * Copyright (c) 2001 Wasabi Systems, Inc.
@@ -189,19 +189,6 @@
                        break;
 
                case R_TYPE(REFQUAD):
-                       def = _rtld_find_symdef(symnum, obj, &defobj, false);
-                       if (def == NULL)
-                               return -1;
-
-                       tmp = (Elf_Addr)(defobj->relocbase + def->st_value) +
-                           *where + rela->r_addend;
-                       if (*where != tmp)
-                               *where = tmp;
-                       rdbg(("REFQUAD %s in %s --> %p in %s",
-                           obj->strtab + obj->symtab[symnum].st_name,
-                           obj->path, (void *)*where, defobj->path));
-                       break;
-
                case R_TYPE(GLOB_DAT):
                        def = _rtld_find_symdef(symnum, obj, &defobj, false);
                        if (def == NULL)
@@ -211,15 +198,15 @@
                            rela->r_addend;
                        if (*where != tmp)
                                *where = tmp;
-                       rdbg(("GLOB_DAT %s in %s --> %p in %s",
+                       rdbg(("REFQUAD/GLOB_DAT %s in %s --> %p in %s",
                            obj->strtab + obj->symtab[symnum].st_name,
                            obj->path, (void *)*where, defobj->path));
                        break;
 
                case R_TYPE(RELATIVE):
                        *where += (Elf_Addr)obj->relocbase;
-                       rdbg(("RELATIVE in %s --> %p",
-                           obj->path, (void *)*where));
+                       rdbg(("RELATIVE in %s --> %p", obj->path,
+                           (void *)*where));
                        break;
 
                case R_TYPE(COPY):



Home | Main Index | Thread Index | Old Index