# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj -o - | llvm-dwarfdump -debug-names - | FileCheck %s
	.section	.debug_str,"MS",@progbits,1
.Linfo_string0:
	.asciz	"foo"
.Linfo_string1:
	.asciz	"_Z3foov"
.Linfo_string2:
	.asciz	"bar"

# Fake .debug_info. We just need it for the offsets to two "compile units" and
# two "DIEs"
	.section	.debug_info,"",@progbits
.Lcu_begin0:
	.byte	0
.Ldie0:
	.byte	0
.Lcu_begin1:
	.byte	0
.Ldie1:
	.byte	0

	.section	.debug_names,"",@progbits
	.long	.Lnames_end0-.Lnames_start0 # Header: contribution length
.Lnames_start0:
	.short	5                       # Header: version
	.short	0                       # Header: padding
	.long	1                       # Header: compilation unit count
	.long	0                       # Header: local type unit count
	.long	0                       # Header: foreign type unit count
	.long	2                       # Header: bucket count
	.long	2                       # Header: name count
	.long	.Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size
	.long	0                       # Header: augmentation length
	.long	.Lcu_begin0             # Compilation unit 0
	.long	0                       # Bucket 0
	.long	1                       # Bucket 1
	.long	193491849               # Hash in Bucket 1
	.long	-1257882357             # Hash in Bucket 1
	.long	.Linfo_string0          # String in Bucket 1: foo
	.long	.Linfo_string1          # String in Bucket 1: _Z3foov
	.long	.Lnames0-.Lnames_entries0 # Offset in Bucket 1
	.long	.Lnames1-.Lnames_entries0 # Offset in Bucket 1
.Lnames_abbrev_start0:
	.byte	46                      # Abbrev code
	.byte	46                      # DW_TAG_subprogram
	.byte	3                       # DW_IDX_die_offset
	.byte	19                      # DW_FORM_ref4
	.byte	0                       # End of abbrev
	.byte	0                       # End of abbrev
	.byte	0                       # End of abbrev list
.Lnames_abbrev_end0:
.Lnames_entries0:
.Lnames0:
	.byte	46                      # Abbrev code
	.long	.Ldie0-.Lcu_begin0      # DW_IDX_die_offset
	.long	0                       # End of list: foo
.Lnames1:
	.byte	46                      # Abbrev code
	.long	.Ldie0-.Lcu_begin0      # DW_IDX_die_offset
	.long	0                       # End of list: _Z3foov
	.p2align	2
.Lnames_end0:

	.long	.Lnames_end1-.Lnames_start1 # Header: contribution length
.Lnames_start1:
	.short	5                       # Header: version
	.short	0                       # Header: padding
	.long	1                       # Header: compilation unit count
	.long	0                       # Header: local type unit count
	.long	0                       # Header: foreign type unit count
	.long	1                       # Header: bucket count
	.long	1                       # Header: name count
	.long	.Lnames_abbrev_end1-.Lnames_abbrev_start1 # Header: abbreviation table size
	.long	0                       # Header: augmentation length
	.long	.Lcu_begin1             # Compilation unit 0
	.long	1                       # Bucket 0
	.long	193487034               # Hash in Bucket 0
	.long	.Linfo_string2          # String in Bucket 0: bar
	.long	.Lnames2-.Lnames_entries1 # Offset in Bucket 0
.Lnames_abbrev_start1:
	.byte	52                      # Abbrev code
	.byte	52                      # DW_TAG_variable
	.byte	3                       # DW_IDX_die_offset
	.byte	19                      # DW_FORM_ref4
	.byte	0                       # End of abbrev
	.byte	0                       # End of abbrev
	.byte	0                       # End of abbrev list
.Lnames_abbrev_end1:
.Lnames_entries1:
.Lnames2:
	.byte	52                      # Abbrev code
	.long	.Ldie1-.Lcu_begin1      # DW_IDX_die_offset
	.long	0                       # End of list: bar
	.p2align	2
.Lnames_end1:
# CHECK: .debug_names contents:
# CHECK-NEXT: Name Index @ 0x0 {
# CHECK-NEXT:   Header {
# CHECK-NEXT:     Length: 0x60
# CHECK-NEXT:     Version: 5
# CHECK-NEXT:     Padding: 0x0
# CHECK-NEXT:     CU count: 1
# CHECK-NEXT:     Local TU count: 0
# CHECK-NEXT:     Foreign TU count: 0
# CHECK-NEXT:     Bucket count: 2
# CHECK-NEXT:     Name count: 2
# CHECK-NEXT:     Abbreviations table size: 0x7
# CHECK-NEXT:     Augmentation: ''
# CHECK-NEXT:   }
# CHECK-NEXT:   Compilation Unit offsets [
# CHECK-NEXT:     CU[0]: 0x00000000
# CHECK-NEXT:   ]
# CHECK-NEXT:   Abbreviations [
# CHECK-NEXT:     Abbreviation 0x2e {
# CHECK-NEXT:       Tag: DW_TAG_subprogram
# CHECK-NEXT:       DW_IDX_die_offset: DW_FORM_ref4
# CHECK-NEXT:     }
# CHECK-NEXT:   ]
# CHECK-NEXT:   Bucket 0 [
# CHECK-NEXT:     EMPTY
# CHECK-NEXT:   ]
# CHECK-NEXT:   Bucket 1 [
# CHECK-NEXT:     Name 1 {
# CHECK-NEXT:       Hash: 0xB887389
# CHECK-NEXT:       String: 0x00000000 "foo"
# CHECK-NEXT:       Entry @ 0x4f {
# CHECK-NEXT:         Abbrev: 0x2E
# CHECK-NEXT:         Tag: DW_TAG_subprogram
# CHECK-NEXT:         DW_IDX_die_offset: 0x00000001
# CHECK-NEXT:       }
# CHECK-NEXT:     }
# CHECK-NEXT:     Name 2 {
# CHECK-NEXT:       Hash: 0xB5063D0B
# CHECK-NEXT:       String: 0x00000004 "_Z3foov"
# CHECK-NEXT:       Entry @ 0x58 {
# CHECK-NEXT:         Abbrev: 0x2E
# CHECK-NEXT:         Tag: DW_TAG_subprogram
# CHECK-NEXT:         DW_IDX_die_offset: 0x00000001
# CHECK-NEXT:       }
# CHECK-NEXT:     }
# CHECK-NEXT:   ]
# CHECK-NEXT: }
# CHECK-NEXT: Name Index @ 0x64 {
# CHECK-NEXT:   Header {
# CHECK-NEXT:     Length: 0x44
# CHECK-NEXT:     Version: 5
# CHECK-NEXT:     Padding: 0x0
# CHECK-NEXT:     CU count: 1
# CHECK-NEXT:     Local TU count: 0
# CHECK-NEXT:     Foreign TU count: 0
# CHECK-NEXT:     Bucket count: 1
# CHECK-NEXT:     Name count: 1
# CHECK-NEXT:     Abbreviations table size: 0x7
# CHECK-NEXT:     Augmentation: ''
# CHECK-NEXT:   }
# CHECK-NEXT:   Compilation Unit offsets [
# CHECK-NEXT:     CU[0]: 0x00000002
# CHECK-NEXT:   ]
# CHECK-NEXT:   Abbreviations [
# CHECK-NEXT:     Abbreviation 0x34 {
# CHECK-NEXT:       Tag: DW_TAG_variable
# CHECK-NEXT:       DW_IDX_die_offset: DW_FORM_ref4
# CHECK-NEXT:     }
# CHECK-NEXT:   ]
# CHECK-NEXT:   Bucket 0 [
# CHECK-NEXT:     Name 1 {
# CHECK-NEXT:       Hash: 0xB8860BA
# CHECK-NEXT:       String: 0x0000000c "bar"
# CHECK-NEXT:       Entry @ 0xa3 {
# CHECK-NEXT:         Abbrev: 0x34
# CHECK-NEXT:         Tag: DW_TAG_variable
# CHECK-NEXT:         DW_IDX_die_offset: 0x00000001
# CHECK-NEXT:       }
# CHECK-NEXT:     }
# CHECK-NEXT:   ]
# CHECK-NEXT: }
