[PATCH] D45181: [RISCV] Add diff relocation support for RISC-V
Luís Marques via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 2 09:35:50 PDT 2019
luismarques added a comment.
In D45181#1470356 <https://reviews.llvm.org/D45181#1470356>, @rogfer01 wrote:
> James, Alex: Thanks a lot for the comments. I'll look into what I can do here.
This issue also affects the debug information in `.debug_info`. Relocations (`R_RISCV_ADD32` and `R_RISCV_SUB32`) are emitted for DWARF's compilation unit header Length field. While binutils accepts that, LLVM does not (and it's not trivial to fix that because `DWARFContext` currently assumes that only one relocation would exist per offset, while these label differences require two), which means that tools like `llvm-objdump` and `llvm-dwarfdump` don't correctly parse the debug information. Returning false in `requiresDiffExpressionRelocations` does not suffice to solve that issue because an absolute `R_RISCV_32` relocation is still emitted.
@rogfer01 Are you still looking into this? My efforts to fix the problem with the debug information would also touch this. How do you want to proceed?
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D45181/new/
https://reviews.llvm.org/D45181
More information about the llvm-commits
mailing list