[PATCH] D52408: [ELF] - Do not fail on R_*_NONE relocations when parsing the debug info.

George Rimar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 24 07:20:57 PDT 2018


grimar created this revision.
grimar added reviewers: phosek, ruiu.
Herald added subscribers: JDevlieghere, arichardson, aprantl, emaste.
Herald added a reviewer: espindola.

This is https://bugs.llvm.org//show_bug.cgi?id=38919.

Currently, LLD may report "unsupported relocation target while parsing debug info"
when parsing the debug information.

At the same time in the bug sample, it does that for zeroed R_X86_64_NONE relocation:

  000000009cca  015e00000001 R_X86_64_64       0000000000000000  + 0
  000000009cfa  000000000000 R_X86_64_NONE                        0
  000000009d69  015f00000001 R_X86_64_64       0000000000000000  + 0

Which obviously has "invalid" target (not defined symbol) because it is zeroed out.
I believe the nature of R_*_NONE relocation assumes them should be ignored and
that is why they were invented. So this patch teaches LLD to stop reporting
debug information parsing errors for them.


https://reviews.llvm.org/D52408

Files:
  ELF/DWARF.cpp
  test/ELF/debug-relocation-none.test
  test/ELF/undef-broken-debug.test

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52408.166648.patch
Type: text/x-patch
Size: 3660 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180924/83c932d8/attachment.bin>


More information about the llvm-commits mailing list