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; _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"