summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command/expr-in-syscall
diff options
context:
space:
mode:
authorSean Silva <chisophugis@gmail.com>2016-02-04 21:41:07 +0000
committerSean Silva <chisophugis@gmail.com>2016-02-04 21:41:07 +0000
commit09247f8955f3cf868cfee2cc54b2b1b9e8f270b3 (patch)
treea016a8b1cad6b1681490b4b9e0458b16f41f013a /lldb/packages/Python/lldbsuite/test/expression_command/expr-in-syscall
parentde9857e3c16cb4e8f241b72066b8a8853e441af5 (diff)
downloadbcm5719-llvm-09247f8955f3cf868cfee2cc54b2b1b9e8f270b3.tar.gz
bcm5719-llvm-09247f8955f3cf868cfee2cc54b2b1b9e8f270b3.zip
Don't push relocation sections onto InputSection<ELFT>::Discarded.RelocSections
Summary: LLVM3.3 (and earlier) would fail to include a relocation section in the group that the section it was relocating is in. Object files affected by this issue have been encountered in the wild when using LLD. This would result in a siutation like: Section { Index: 5 Name: .text._Z3fooIiEvv (6) Type: SHT_PROGBITS (0x1) Flags [ (0x206) SHF_ALLOC (0x2) SHF_EXECINSTR (0x4) SHF_GROUP (0x200) ] Address: 0x0 Offset: 0x48 Size: 5 Link: 0 Info: 0 AddressAlignment: 1 EntrySize: 0 } Section { Index: 6 Name: .rela.text._Z3fooIiEvv (1) Type: SHT_RELA (0x4) Flags [ (0x0) ] Address: 0x0 Offset: 0x3F0 Size: 24 Link: 8 Info: 5 AddressAlignment: 8 EntrySize: 24 } In LLD, during symbol resolution, we discard the section containing the weak symbol, but this amounts to replacing it with InputSection<ELFT>::Discarded. When we later saw the corresponding relocation section, we would then end up pusing onto InputSection<ELFT>::Discarded.RelocSections, which is bogus. Reviewers: ruiu, rafael Subscribers: llvm-commits, Bigcheese Differential Revision: http://reviews.llvm.org/D16898 llvm-svn: 259831
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/expr-in-syscall')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud