svn commit: r278580 - head/contrib/elftoolchain/libdwarf
Ed Maste
emaste at FreeBSD.org
Wed Feb 11 14:59:36 UTC 2015
Author: emaste
Date: Wed Feb 11 14:59:35 2015
New Revision: 278580
URL: https://svnweb.freebsd.org/changeset/base/278580
Log:
libdwarf: Add aarch64 relocation support
Reviewed by: andrew, rpaulo
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D1817
Modified:
head/contrib/elftoolchain/libdwarf/libdwarf.h
head/contrib/elftoolchain/libdwarf/libdwarf_reloc.c
Modified: head/contrib/elftoolchain/libdwarf/libdwarf.h
==============================================================================
--- head/contrib/elftoolchain/libdwarf/libdwarf.h Wed Feb 11 12:08:40 2015 (r278579)
+++ head/contrib/elftoolchain/libdwarf/libdwarf.h Wed Feb 11 14:59:35 2015 (r278580)
@@ -439,6 +439,7 @@ enum Dwarf_ISA {
DW_ISA_SPARC,
DW_ISA_X86,
DW_ISA_X86_64,
+ DW_ISA_AARCH64,
DW_ISA_MAX
};
Modified: head/contrib/elftoolchain/libdwarf/libdwarf_reloc.c
==============================================================================
--- head/contrib/elftoolchain/libdwarf/libdwarf_reloc.c Wed Feb 11 12:08:40 2015 (r278579)
+++ head/contrib/elftoolchain/libdwarf/libdwarf_reloc.c Wed Feb 11 14:59:35 2015 (r278580)
@@ -35,6 +35,8 @@ _dwarf_get_reloc_type(Dwarf_P_Debug dbg,
assert(dbg != NULL);
switch (dbg->dbgp_isa) {
+ case DW_ISA_AARCH64:
+ return (is64 ? R_AARCH64_ABS64 : R_AARCH64_ABS32);
case DW_ISA_X86:
return (R_386_32);
case DW_ISA_X86_64:
@@ -62,6 +64,12 @@ _dwarf_get_reloc_size(Dwarf_Debug dbg, D
switch (dbg->dbg_machine) {
case EM_NONE:
break;
+ case EM_AARCH64:
+ if (rel_type == R_AARCH64_ABS32)
+ return (4);
+ else if (rel_type == R_AARCH64_ABS64)
+ return (8);
+ break;
case EM_ARM:
if (rel_type == R_ARM_ABS32)
return (4);
More information about the svn-src-all
mailing list