>From differential https://reviews.freebsd.org/D20367
https://svnweb.freebsd.org/base?view=revision&revision=348347
Due to missing relocation support, libdwarf was misparsing unlinked object
files, breaking CTF data generation on FreeBSD PowerPC64.
Sending it in directly so it can land here too.
Thanks!
--
Brandon Bergren
g...@bdragon.rtk0.net
Index: libdwarf/libdwarf_reloc.c
===================================================================
--- libdwarf/libdwarf_reloc.c (revision 3740)
+++ libdwarf/libdwarf_reloc.c (working copy)
@@ -44,7 +44,7 @@
case DW_ISA_SPARC:
return (is64 ? R_SPARC_UA64 : R_SPARC_UA32);
case DW_ISA_PPC:
- return (R_PPC_ADDR32);
+ return (is64 ? R_PPC64_ADDR64 : R_PPC_ADDR32);
case DW_ISA_ARM:
return (R_ARM_ABS32);
case DW_ISA_MIPS:
@@ -97,6 +97,12 @@
if (rel_type == R_PPC_ADDR32)
return (4);
break;
+ case EM_PPC64:
+ if (rel_type == R_PPC_ADDR32)
+ return (4);
+ else if (rel_type == R_PPC64_ADDR64)
+ return (8);
+ break;
case EM_MIPS:
if (rel_type == R_MIPS_32)
return (4);
_______________________________________________
Elftoolchain-developers mailing list
Elftoolchain-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/elftoolchain-developers