summaryrefslogtreecommitdiffstats
path: root/libexec/rtld-elf
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2005-06-04 20:49:15 +0000
committermarius <marius@FreeBSD.org>2005-06-04 20:49:15 +0000
commit4eca37e10bc83afcbab535be239a5365d1d6cc59 (patch)
tree5e397d3d73109702ba6595b2953d256bf1f57478 /libexec/rtld-elf
parentef0744154b04fc79183d4ebd783ac14e684ec72f (diff)
downloadFreeBSD-src-4eca37e10bc83afcbab535be239a5365d1d6cc59.zip
FreeBSD-src-4eca37e10bc83afcbab535be239a5365d1d6cc59.tar.gz
MFNetBSD: src/libexec/ld.elf_so/arch/sparc64/mdreloc.c 1.26 (partial)
Fix an obvious bug in the 64-bit PLT fixup: the SLLX was by 12 bits, when it should be 32. MFC after: 1 month
Diffstat (limited to 'libexec/rtld-elf')
-rw-r--r--libexec/rtld-elf/sparc64/reloc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libexec/rtld-elf/sparc64/reloc.c b/libexec/rtld-elf/sparc64/reloc.c
index 0b44bec..acc6701 100644
--- a/libexec/rtld-elf/sparc64/reloc.c
+++ b/libexec/rtld-elf/sparc64/reloc.c
@@ -649,7 +649,7 @@ reloc_jmpslot(Elf_Addr *wherep, Elf_Addr target, const Obj_Entry *obj,
flush(where, 24);
where[5] = ORG5;
flush(where, 20);
- where[4] = SLLX | 12;
+ where[4] = SLLX | 32;
flush(where, 16);
where[3] = OR | LOVAL((target) >> 32);
flush(where, 12);
OpenPOWER on IntegriCloud