summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2002-04-24 21:58:16 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2002-04-24 21:58:16 +0000
commitb52b85be70837f3789f679055047a4763e81eefc (patch)
treeb6e03617381c23607b4ca78a3a2b9454bc27331b
parente006fb482ead935420e7ed2885ad24d39ebb7cbe (diff)
Perform full relocation for Rela bootstrap relocations, compatible
with newer binutils this way. ok fgs, jason.
-rw-r--r--libexec/ld.so/sparc64/archdep.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/libexec/ld.so/sparc64/archdep.h b/libexec/ld.so/sparc64/archdep.h
index b4ce7694c3c..29477a75c80 100644
--- a/libexec/ld.so/sparc64/archdep.h
+++ b/libexec/ld.so/sparc64/archdep.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: archdep.h,v 1.6 2002/02/21 23:17:53 drahn Exp $ */
+/* $OpenBSD: archdep.h,v 1.7 2002/04/24 21:58:15 drahn Exp $ */
/*
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
@@ -61,10 +61,10 @@ static inline void
RELOC_RELA(Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
{
if (ELF_R_TYPE(r->r_info) == RELOC_RELATIVE) {
- *p += (Elf_Addr)v;
+ *p = v + r->r_addend;
} else {
/* XXX - printf might not work here, but we give it a shot. */
- _dl_printf("Unkown bootstrap relocation.\n");
+ _dl_printf("Unknown bootstrap relocation.\n");
_dl_exit(6);
}
}