[PATCH] D127715: [JITLink][ELF] Log enum name of unsupported relocation type.
Sunho Kim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 13 22:50:55 PDT 2022
sunho created this revision.
sunho added reviewers: lhames, sgraenitz.
Herald added subscribers: jsji, luke957, StephenFan, frasercrmck, luismarques, apazos, sameer.abuasal, pengfei, s.egerton, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, hiraditya.
Herald added a project: All.
sunho requested review of this revision.
Herald added subscribers: llvm-commits, pcwang-thead.
Herald added a project: LLVM.
Logs enum name of unsupported relocation type. This also changes elf/x86 to use common util function (getELFRelocationTypeName) inside llvm object module.
https://reviews.llvm.org/D127715
Files:
llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
Index: llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
===================================================================
--- llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
+++ llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
@@ -97,17 +97,6 @@
}
} // namespace
-static const char *getELFX86_64RelocName(uint32_t Type) {
- switch (Type) {
-#define ELF_RELOC(Name, Number) \
- case Number: \
- return #Name;
-#include "llvm/BinaryFormat/ELFRelocs/x86_64.def"
-#undef ELF_RELOC
- }
- return "Unrecognized ELF/x86-64 relocation type";
-}
-
namespace llvm {
namespace jitlink {
@@ -146,9 +135,9 @@
case ELF::R_X86_64_TLSGD:
return ELF_x86_64_Edges::ELFX86RelocationKind::PCRel32TLV;
}
- return make_error<JITLinkError>("Unsupported x86-64 relocation type " +
- formatv("{0:d}: ", Type) +
- getELFX86_64RelocName(Type));
+ return make_error<JITLinkError>(
+ "Unsupported x86-64 relocation type " + formatv("{0:d}: ", Type) +
+ object::getELFRelocationTypeName(ELF::EM_X86_64, Type));
}
Error addRelocations() override {
Index: llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
===================================================================
--- llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
+++ llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
@@ -471,8 +471,9 @@
return EdgeKind_riscv::R_RISCV_32_PCREL;
}
- return make_error<JITLinkError>("Unsupported riscv relocation:" +
- formatv("{0:d}", Type));
+ return make_error<JITLinkError>(
+ "Unsupported riscv relocation:" + formatv("{0:d}: ", Type) +
+ object::getELFRelocationTypeName(ELF::EM_RISCV, Type));
}
Error addRelocations() override {
Index: llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
===================================================================
--- llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
+++ llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
@@ -98,8 +98,9 @@
return ELFLd64GOTLo12;
}
- return make_error<JITLinkError>("Unsupported aarch64 relocation:" +
- formatv("{0:d}", Type));
+ return make_error<JITLinkError>(
+ "Unsupported aarch64 relocation:" + formatv("{0:d}: ", Type) +
+ object::getELFRelocationTypeName(ELF::EM_AARCH64, Type));
}
Error addRelocations() override {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D127715.436656.patch
Type: text/x-patch
Size: 2551 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220614/82166b87/attachment-0001.bin>
More information about the llvm-commits
mailing list