summaryrefslogtreecommitdiffstats
path: root/llvm/test/DebugInfo/Generic/empty.ll
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2017-05-25 18:50:28 +0000
committerDavid Blaikie <dblaikie@gmail.com>2017-05-25 18:50:28 +0000
commitb3cee2fb42e9117d6ec2e291e9e99cb4eb99c18d (patch)
tree5e0af2e2c334031a4ffc7dfb9ec19dbc9f959193 /llvm/test/DebugInfo/Generic/empty.ll
parent236e78101127a35971405201c7ab0563ce8601af (diff)
downloadbcm5719-llvm-b3cee2fb42e9117d6ec2e291e9e99cb4eb99c18d.tar.gz
bcm5719-llvm-b3cee2fb42e9117d6ec2e291e9e99cb4eb99c18d.zip
DebugInfo: Produce debug_{gnu_}pub{names,types} entries when explicitly requested, even in -gmlt or when empty
Turns out gold doesn't use the DW_AT_GNU_pubnames to decide whether to parse the rest of the DIEs when building gdb-index. This causes gold to trip over LLVM's output when there are DW_FORM_ref_addr present. Gold does use the presence of a debug_gnu_pub{names,types} entry for the CU to skip parsing the debug_info portion, so make sure that's included even when empty (technically, when empty there couldn't be any ref_addr anyway - it only came up when gmlt didn't produce any (even non-empty) pubnames - but given what that reveals about gold's implementation, this seems like a good thing to do for consistency). llvm-svn: 303894
Diffstat (limited to 'llvm/test/DebugInfo/Generic/empty.ll')
-rw-r--r--llvm/test/DebugInfo/Generic/empty.ll8
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/test/DebugInfo/Generic/empty.ll b/llvm/test/DebugInfo/Generic/empty.ll
index d5f738fa027..f8bc2c0f280 100644
--- a/llvm/test/DebugInfo/Generic/empty.ll
+++ b/llvm/test/DebugInfo/Generic/empty.ll
@@ -13,10 +13,14 @@
; CHECK-NOT: file_names[
; CHECK: .debug_pubnames contents:
-; CHECK-NOT: Offset
+; CHECK-NEXT: length = 0x0000000e
+; CHECK-NEXT: Offset
+; CHECK-NEXT: {{^$}}
; CHECK: .debug_pubtypes contents:
-; CHECK-NOT: Offset
+; CHECK-NEXT: length = 0x0000000e
+; CHECK-NEXT: Offset
+; CHECK-NEXT: {{^$}}
; Don't emit DW_AT_addr_base when there are no addresses.
; FISSION-NOT: DW_AT_GNU_addr_base [DW_FORM_sec_offset]
OpenPOWER on IntegriCloud