[PATCH] D89795: [jitlink][ELF] Add zero-fill blocks for symbols in section SHN_COMMON

Stefan Gränitz via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 23 08:30:40 PDT 2020


sgraenitz added a comment.

Skipping the optimization pass, I had expected to get something like `movq 0x1ff9(%rip), %rax` but instead it's:

  dis -s 0x00007ffff7ff5000 -e 0x00007ffff7ff5010
      0x7ffff7ff5000: movq   (%rip), %rax

It turns out, that there is no actual implementation for `PCRel32GOTLoad` (and no warning for unhandled relocations). Instead we seem to rely on the optimization here. Is that correct? If so, I see two ways to move forward from here:

(1) Implement PCRel32GOTLoad relocations, add a way to skip passes in llvm-jitlink and use it in the test.
(2) Fix the test expression and keep relying on the optimization pass.

In both cases it might be useful to issue a warning for unhandled relocations. @lhames Did I miss anything? Are there similar cases in the MachO implementation? What would you recommend?
I will have a look at the ELF_x86-64_relocations test in the meantime and see how the GOTPCREL test handles it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D89795/new/

https://reviews.llvm.org/D89795



More information about the llvm-commits mailing list