summaryrefslogtreecommitdiff
path: root/libexec
diff options
context:
space:
mode:
authormatt <matt@NetBSD.org>2001-07-16 05:40:53 +0000
committermatt <matt@NetBSD.org>2001-07-16 05:40:53 +0000
commitee534ba09d2179067f157773196bdfe134a75a08 (patch)
tree4b3f3a3dc46aa201ab3cfd2df153614e0c5dedcb /libexec
parentbd538b438b18289ff04f81878f8d5b11a592e349 (diff)
Fix ABS32 ARM reloc case. ELF shared libs on ARM now work!
Diffstat (limited to 'libexec')
-rw-r--r--libexec/ld.elf_so/reloc.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/libexec/ld.elf_so/reloc.c b/libexec/ld.elf_so/reloc.c
index db43af67ca9..e025f73a746 100644
--- a/libexec/ld.elf_so/reloc.c
+++ b/libexec/ld.elf_so/reloc.c
@@ -1,4 +1,4 @@
-/* $NetBSD: reloc.c,v 1.39 2001/07/15 17:31:02 matt Exp $ */
+/* $NetBSD: reloc.c,v 1.40 2001/07/16 05:40:53 matt Exp $ */
/*
* Copyright 1996 John D. Polstra.
@@ -424,9 +424,9 @@ _rtld_relocate_nonplt_object(obj, rela, dodebug)
if (def == NULL)
return -1;
*where = (Elf_Addr)(defobj->relocbase + def->st_value);
- rdbg(dodebug, ("GLOB_DAT %s in %s --> %p in %s",
+ rdbg(dodebug, ("GLOB_DAT %s in %s --> %p @ %p in %s",
defobj->strtab + def->st_name, obj->path,
- (void *)*where, defobj->path));
+ (void *)*where, where, defobj->path));
break;
case R_TYPE(COPY):
@@ -442,16 +442,16 @@ _rtld_relocate_nonplt_object(obj, rela, dodebug)
&defobj, false);
if (def == NULL)
return -1;
- *where += (Elf_Addr)obj->relocbase + def->st_value;
- rdbg(dodebug, ("ABS32 %s in %s --> %p in %s",
+ *where += (Elf_Addr)defobj->relocbase + def->st_value;
+ rdbg(dodebug, ("ABS32 %s in %s --> %p @ %p in %s",
defobj->strtab + def->st_name, obj->path,
- (void *)*where, defobj->path));
+ (void *)*where, where, defobj->path));
break;
case R_TYPE(RELATIVE): /* word32 B + A */
*where += (Elf_Addr)obj->relocbase;
- rdbg(dodebug, ("RELATIVE in %s --> %p", obj->path,
- (void *)*where));
+ rdbg(dodebug, ("RELATIVE in %s --> %p @ %p", obj->path,
+ (void *)*where, where));
break;
case R_TYPE(PC24): { /* word32 S - P + A */
@@ -480,9 +480,9 @@ _rtld_relocate_nonplt_object(obj, rela, dodebug)
}
tmp >>= 2;
*where = (*where & 0xff000000) | (tmp & 0x00ffffff);
- rdbg(dodebug, ("PC24 %s in %s --> %p in %s",
+ rdbg(dodebug, ("PC24 %s in %s --> %p @ %p in %s",
defobj->strtab + def->st_name, obj->path,
- (void *)*where, defobj->path));
+ (void *)*where, where, defobj->path));
break;
}
#endif