diff options
| author | Marius Strobl <marius@FreeBSD.org> | 2011-03-06 15:20:11 +0000 |
|---|---|---|
| committer | Marius Strobl <marius@FreeBSD.org> | 2011-03-06 15:20:11 +0000 |
| commit | 25b31a949680f1f6ad0965a8f514815e7c9ff7fb (patch) | |
| tree | 5ae03a572be72e3fd0d851acb0f567c8119d6b93 /libexec | |
| parent | d374d11285a46eb5d9d7666da4a89d12be630d37 (diff) | |
Notes
Diffstat (limited to 'libexec')
| -rw-r--r-- | libexec/rtld-elf/sparc64/reloc.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libexec/rtld-elf/sparc64/reloc.c b/libexec/rtld-elf/sparc64/reloc.c index 6249fb0ce649..b58e3e5fb8ff 100644 --- a/libexec/rtld-elf/sparc64/reloc.c +++ b/libexec/rtld-elf/sparc64/reloc.c @@ -355,6 +355,9 @@ reloc_nonplt_object(Obj_Entry *obj, const Elf_Rela *rela, SymCache *cache, if (type == R_SPARC_OLO10) value = (value & 0x3ff) + ELF64_R_TYPE_DATA(rela->r_info); + if (type == R_SPARC_HIX22) + value ^= 0xffffffffffffffff; + if (RELOC_PC_RELATIVE(type)) value -= (Elf_Addr)where; |
