[llvm-dev] Symbolizing relocations in disassembly

Nikita Ermoshkin via llvm-dev llvm-dev at lists.llvm.org
Fri Jan 28 13:41:19 PST 2022


Hi LLVM devs,

In my experimental backend, I’d like to symbolize the disassembled ELF and
object files generated by the backend, so that labels/function names are
printed instead of just memory addresses. When using objdump. The simplest
implementation I’ve found is the AMDGPU symbolizer in the Disassembler,
which I mimicked. This works fine only in very specific cases, where the
address in the operand exists in the section’s symbol table. However, if
the symbol to reference is in another section, or if the operand value is
just 0 with a fix-up/relocation, it obviously doesn’t give correct results.

So the question: is there a more robust way to get access to all the
symbols and relocation data in the target Disassembler? I haven’t fully dug
through how x86 does it but it seems really complicated, and my much
simpler backend probably doesn’t need that level of complexity.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20220128/b0f23856/attachment.html>


More information about the llvm-dev mailing list