svn commit: r230046 - head/sys/mips/mips
Oleksandr Tymoshenko
gonzo at FreeBSD.org
Fri Jan 13 07:00:48 UTC 2012
Author: gonzo
Date: Fri Jan 13 07:00:47 2012
New Revision: 230046
URL: http://svn.freebsd.org/changeset/base/230046
Log:
- Fix .rela case of R_MIPS_26 relocation. Addednds save diferently for
.rel and .rela sections. It's shifted right two bits for former
but saved as-is for latter.
Modified:
head/sys/mips/mips/elf_machdep.c
Modified: head/sys/mips/mips/elf_machdep.c
==============================================================================
--- head/sys/mips/mips/elf_machdep.c Fri Jan 13 06:56:59 2012 (r230045)
+++ head/sys/mips/mips/elf_machdep.c Fri Jan 13 07:00:47 2012 (r230046)
@@ -227,7 +227,11 @@ elf_reloc_internal(linker_file_t lf, Elf
return (-1);
addend &= 0x03ffffff;
- addend <<= 2;
+ /*
+ * Addendum for .rela R_MIPS_26 is not shifted right
+ */
+ if (rela == NULL)
+ addend <<= 2;
addr += ((Elf_Addr)where & 0xf0000000) | addend;
addr >>= 2;
More information about the svn-src-all
mailing list