svn commit: r278593 - head/contrib/elftoolchain/libdwarf
Ed Maste
emaste at FreeBSD.org
Wed Feb 11 19:53:45 UTC 2015
Author: emaste
Date: Wed Feb 11 19:53:44 2015
New Revision: 278593
URL: https://svnweb.freebsd.org/changeset/base/278593
Log:
libdwarf: Add symbol value when processing .rela relocations
Reviewed by: kib, rpaulo
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D1826
Modified:
head/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c
Modified: head/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c
==============================================================================
--- head/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Wed Feb 11 19:07:05 2015 (r278592)
+++ head/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c Wed Feb 11 19:53:44 2015 (r278593)
@@ -70,11 +70,15 @@ _dwarf_elf_apply_reloc(Dwarf_Debug dbg,
offset = rela.r_offset;
size = _dwarf_get_reloc_size(dbg, type);
+ if (size == 0)
+ continue; /* Unknown or non-absolute relocation. */
if (endian == ELFDATA2MSB)
- _dwarf_write_msb(buf, &offset, rela.r_addend, size);
+ _dwarf_write_msb(buf, &offset,
+ sym.st_value + rela.r_addend, size);
else
- _dwarf_write_lsb(buf, &offset, rela.r_addend, size);
+ _dwarf_write_lsb(buf, &offset,
+ sym.st_value + rela.r_addend, size);
}
}
More information about the svn-src-head
mailing list