diff options
author | David Blaikie <dblaikie@gmail.com> | 2019-11-08 12:56:49 -0800 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2019-11-08 13:27:00 -0800 |
commit | 39c308f6b8f06710b2b98d0b126c9175e4bafc20 (patch) | |
tree | dde9c7aeb84a866efbf078d8bc5cc5f259a36ceb /llvm/test/MC/WebAssembly | |
parent | 860ee4f3ebf56f4d2e387ceec9b8028636e72d2c (diff) | |
download | bcm5719-llvm-39c308f6b8f06710b2b98d0b126c9175e4bafc20.tar.gz bcm5719-llvm-39c308f6b8f06710b2b98d0b126c9175e4bafc20.zip |
DebugInfo: Use separate macinfo contributions for each CU
The macinfo support was broken for LTO situations, by terminating
macinfo lists only once - multiple macinfo contributions were correctly
labeled, but they all continued/flowed into later contributions until
only one terminator appeared at the end of the section.
Correctly terminate each contribution & fix the parsing to handle this
situation too. The parsing fix is also necessary for dumping linked
binaries - the previous code would stop at the end of the first
contribution - missing all later contributions in a linked binary.
It'd be nice to improve the dumping to print the offsets of each
contribution so it'd be easier to know which CU AT_macro_info refers to
which macinfo contribution.
Diffstat (limited to 'llvm/test/MC/WebAssembly')
-rw-r--r-- | llvm/test/MC/WebAssembly/debug-info.ll | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/llvm/test/MC/WebAssembly/debug-info.ll b/llvm/test/MC/WebAssembly/debug-info.ll index 0d78f97fbb2..749184c548a 100644 --- a/llvm/test/MC/WebAssembly/debug-info.ll +++ b/llvm/test/MC/WebAssembly/debug-info.ll @@ -71,68 +71,68 @@ ; CHECK-NEXT: } ; CHECK-NEXT: Section { ; CHECK-NEXT: Type: CUSTOM (0x0) -; CHECK-NEXT: Size: 1 +; CHECK-NEXT: Size: 0 ; CHECK-NEXT: Offset: 511 ; CHECK-NEXT: Name: .debug_macinfo ; CHECK-NEXT: } ; CHECK-NEXT: Section { ; CHECK-NEXT: Type: CUSTOM (0x0) ; CHECK-NEXT: Size: 42 -; CHECK-NEXT: Offset: 533 +; CHECK-NEXT: Offset: 532 ; CHECK-NEXT: Name: .debug_pubnames ; CHECK-NEXT: } ; CHECK-NEXT: Section { ; CHECK-NEXT: Type: CUSTOM (0x0) ; CHECK-NEXT: Size: 26 -; CHECK-NEXT: Offset: 597 +; CHECK-NEXT: Offset: 596 ; CHECK-NEXT: Name: .debug_pubtypes ; CHECK-NEXT: } ; CHECK-NEXT: Section { ; CHECK-NEXT: Type: CUSTOM (0x0) ; CHECK-NEXT: Size: 57 -; CHECK-NEXT: Offset: 645 +; CHECK-NEXT: Offset: 644 ; CHECK-NEXT: Name: .debug_line ; CHECK-NEXT: } ; CHECK-NEXT: Section { ; CHECK-NEXT: Type: CUSTOM (0x0) ; CHECK-NEXT: Size: 88 -; CHECK-NEXT: Offset: 720 +; CHECK-NEXT: Offset: 719 ; CHECK-NEXT: Name: linking ; CHECK-NEXT: } ; CHECK-NEXT: Section { ; CHECK-NEXT: Type: CUSTOM (0x0) ; CHECK-NEXT: Size: 9 -; CHECK-NEXT: Offset: 822 +; CHECK-NEXT: Offset: 821 ; CHECK-NEXT: Name: reloc.DATA ; CHECK-NEXT: } ; CHECK-NEXT: Section { ; CHECK-NEXT: Type: CUSTOM (0x0) ; CHECK-NEXT: Size: 58 -; CHECK-NEXT: Offset: 848 +; CHECK-NEXT: Offset: 847 ; CHECK-NEXT: Name: reloc..debug_info ; CHECK-NEXT: } ; CHECK-NEXT: Section { ; CHECK-NEXT: Type: CUSTOM (0x0) ; CHECK-NEXT: Size: 6 -; CHECK-NEXT: Offset: 930 +; CHECK-NEXT: Offset: 929 ; CHECK-NEXT: Name: reloc..debug_pubnames ; CHECK-NEXT: } ; CHECK-NEXT: Section { ; CHECK-NEXT: Type: CUSTOM (0x0) ; CHECK-NEXT: Size: 6 -; CHECK-NEXT: Offset: 964 +; CHECK-NEXT: Offset: 963 ; CHECK-NEXT: Name: reloc..debug_pubtypes ; CHECK-NEXT: } ; CHECK-NEXT: Section { ; CHECK-NEXT: Type: CUSTOM (0x0) ; CHECK-NEXT: Size: 6 -; CHECK-NEXT: Offset: 998 +; CHECK-NEXT: Offset: 997 ; CHECK-NEXT: Name: reloc..debug_line ; CHECK-NEXT: } ; CHECK-NEXT: Section { ; CHECK-NEXT: Type: CUSTOM (0x0) ; CHECK-NEXT: Size: 77 -; CHECK-NEXT: Offset: 1028 +; CHECK-NEXT: Offset: 1027 ; CHECK-NEXT: Name: producers ; CHECK-NEXT: } ; CHECK-NEXT:] |