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;
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"