brintos

brintos / llvm-project-archived public Read only

0
0
Text · 9.4 KiB · 798ab1a Raw
259 lines · plain
1# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj -o - | llvm-dwarfdump -debug-names - | FileCheck %s2	.section	.debug_str,"MS",@progbits,13.Linfo_string0:4	.asciz	"foo"5.Linfo_string1:6	.asciz	"_Z3foov"7.Linfo_string2:8	.asciz	"bar"9 10# Fake .debug_info. We just need it for the offsets to two "compile units" and11# two "DIEs"12	.section	.debug_info,"",@progbits13.Lcu_begin0:14	.byte	015.Ldie0:16	.byte	017.Lcu_begin1:18	.byte	019.Ldie1:20	.byte	021 22	.section	.debug_names,"",@progbits23	.long	.Lnames_end0-.Lnames_start0 # Header: contribution length24.Lnames_start0:25	.short	5                       # Header: version26	.short	0                       # Header: padding27	.long	1                       # Header: compilation unit count28	.long	0                       # Header: local type unit count29	.long	0                       # Header: foreign type unit count30	.long	2                       # Header: bucket count31	.long	2                       # Header: name count32	.long	.Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size33	.long	0                       # Header: augmentation length34	.long	.Lcu_begin0             # Compilation unit 035	.long	0                       # Bucket 036	.long	1                       # Bucket 137	.long	193491849               # Hash in Bucket 138	.long	-1257882357             # Hash in Bucket 139	.long	.Linfo_string0          # String in Bucket 1: foo40	.long	.Linfo_string1          # String in Bucket 1: _Z3foov41	.long	.Lnames0-.Lnames_entries0 # Offset in Bucket 142	.long	.Lnames1-.Lnames_entries0 # Offset in Bucket 143.Lnames_abbrev_start0:44	.byte	46                      # Abbrev code45	.byte	46                      # DW_TAG_subprogram46	.byte	3                       # DW_IDX_die_offset47	.byte	19                      # DW_FORM_ref448	.byte	0                       # End of abbrev49	.byte	0                       # End of abbrev50	.byte	0                       # End of abbrev list51.Lnames_abbrev_end0:52.Lnames_entries0:53.Lnames0:54	.byte	46                      # Abbrev code55	.long	.Ldie0-.Lcu_begin0      # DW_IDX_die_offset56	.long	0                       # End of list: foo57.Lnames1:58	.byte	46                      # Abbrev code59	.long	.Ldie0-.Lcu_begin0      # DW_IDX_die_offset60	.long	0                       # End of list: _Z3foov61	.p2align	262.Lnames_end0:63 64	.long	.Lnames_end1-.Lnames_start1 # Header: contribution length65.Lnames_start1:66	.short	5                       # Header: version67	.short	0                       # Header: padding68	.long	1                       # Header: compilation unit count69	.long	0                       # Header: local type unit count70	.long	0                       # Header: foreign type unit count71	.long	1                       # Header: bucket count72	.long	1                       # Header: name count73	.long	.Lnames_abbrev_end1-.Lnames_abbrev_start1 # Header: abbreviation table size74	.long	0                       # Header: augmentation length75	.long	.Lcu_begin1             # Compilation unit 076	.long	1                       # Bucket 077	.long	193487034               # Hash in Bucket 078	.long	.Linfo_string2          # String in Bucket 0: bar79	.long	.Lnames2-.Lnames_entries1 # Offset in Bucket 080.Lnames_abbrev_start1:81	.byte	52                      # Abbrev code82	.byte	52                      # DW_TAG_variable83	.byte	3                       # DW_IDX_die_offset84	.byte	19                      # DW_FORM_ref485	.byte	0                       # End of abbrev86	.byte	0                       # End of abbrev87	.byte	0                       # End of abbrev list88.Lnames_abbrev_end1:89.Lnames_entries1:90.Lnames2:91	.byte	52                      # Abbrev code92	.long	.Ldie1-.Lcu_begin1      # DW_IDX_die_offset93	.long	0                       # End of list: bar94	.p2align	295.Lnames_end1:96 97	.long	0xffffffff                  # DWARF64 mark98	.quad	.Lnames_end2-.Lnames_start2 # Length99.Lnames_start2:100	.short	5                           # Version101	.space	2                           # Padding102	.long	1                           # CU count103	.long	1                           # Local TU count104	.long	1                           # Foreign TU count105	.long	1                           # Bucket count106	.long	1                           # Name count107	.long	.Lnames_abbrev_end2-.Lnames_abbrev_start2   # Abbreviations table size108	.long	0                           # Augmentation string size109	.quad	0xcc00cccccccc              # CU0 offset110	.quad	0xaa00aaaaaaaa              # Local TU0 offset111	.quad	0xffffff00ffffffff          # Foreign TU2 signature112	.long	1                           # Bucket 0113	.long	0xb887389                   # Hash in Bucket 0114	.quad	.Linfo_string0              # String in Bucket 0: foo115	.quad	.Lnames3-.Lnames_entries2   # Offset in Bucket 0116.Lnames_abbrev_start2:117	.byte	0x01                        # Abbrev code118	.byte	0x24                        # DW_TAG_base_type119	.byte	0x02                        # DW_IDX_type_unit120	.byte	0x06                        # DW_FORM_data4121	.byte	0x05                        # DW_IDX_type_hash122	.byte	0x07                        # DW_FORM_data8123	.byte	0x00                        # End of abbrev124	.byte	0x00                        # End of abbrev125	.byte	0x00                        # End of abbrev list126.Lnames_abbrev_end2:127.Lnames_entries2:128.Lnames3:129	.byte	0x01                        # Abbrev code130	.long	1                           # DW_IDX_type_unit131	.quad	0xff03ffffffff              # DW_IDX_type_hash132	.byte   0x00                        # End of list: foo133	.p2align	2134.Lnames_end2:135 136# CHECK: .debug_names contents:137# CHECK-NEXT: Name Index @ 0x0 {138# CHECK-NEXT:   Header {139# CHECK-NEXT:     Length: 0x60140# CHECK-NEXT:     Format: DWARF32141# CHECK-NEXT:     Version: 5142# CHECK-NEXT:     CU count: 1143# CHECK-NEXT:     Local TU count: 0144# CHECK-NEXT:     Foreign TU count: 0145# CHECK-NEXT:     Bucket count: 2146# CHECK-NEXT:     Name count: 2147# CHECK-NEXT:     Abbreviations table size: 0x7148# CHECK-NEXT:     Augmentation: ''149# CHECK-NEXT:   }150# CHECK-NEXT:   Compilation Unit offsets [151# CHECK-NEXT:     CU[0]: 0x00000000152# CHECK-NEXT:   ]153# CHECK-NEXT:   Abbreviations [154# CHECK-NEXT:     Abbreviation [[ABBREV:0x[0-9a-f]*]] {155# CHECK-NEXT:       Tag: DW_TAG_subprogram156# CHECK-NEXT:       DW_IDX_die_offset: DW_FORM_ref4157# CHECK-NEXT:     }158# CHECK-NEXT:   ]159# CHECK-NEXT:   Bucket 0 [160# CHECK-NEXT:     EMPTY161# CHECK-NEXT:   ]162# CHECK-NEXT:   Bucket 1 [163# CHECK-NEXT:     Name 1 {164# CHECK-NEXT:       Hash: 0xB887389165# CHECK-NEXT:       String: 0x00000000 "foo"166# CHECK-NEXT:       Entry @ 0x4f {167# CHECK-NEXT:         Abbrev: [[ABBREV]]168# CHECK-NEXT:         Tag: DW_TAG_subprogram169# CHECK-NEXT:         DW_IDX_die_offset: 0x00000001170# CHECK-NEXT:       }171# CHECK-NEXT:     }172# CHECK-NEXT:     Name 2 {173# CHECK-NEXT:       Hash: 0xB5063D0B174# CHECK-NEXT:       String: 0x00000004 "_Z3foov"175# CHECK-NEXT:       Entry @ 0x58 {176# CHECK-NEXT:         Abbrev: [[ABBREV]]177# CHECK-NEXT:         Tag: DW_TAG_subprogram178# CHECK-NEXT:         DW_IDX_die_offset: 0x00000001179# CHECK-NEXT:       }180# CHECK-NEXT:     }181# CHECK-NEXT:   ]182# CHECK-NEXT: }183# CHECK-NEXT: Name Index @ 0x64 {184# CHECK-NEXT:   Header {185# CHECK-NEXT:     Length: 0x44186# CHECK-NEXT:     Format: DWARF32187# CHECK-NEXT:     Version: 5188# CHECK-NEXT:     CU count: 1189# CHECK-NEXT:     Local TU count: 0190# CHECK-NEXT:     Foreign TU count: 0191# CHECK-NEXT:     Bucket count: 1192# CHECK-NEXT:     Name count: 1193# CHECK-NEXT:     Abbreviations table size: 0x7194# CHECK-NEXT:     Augmentation: ''195# CHECK-NEXT:   }196# CHECK-NEXT:   Compilation Unit offsets [197# CHECK-NEXT:     CU[0]: 0x00000002198# CHECK-NEXT:   ]199# CHECK-NEXT:   Abbreviations [200# CHECK-NEXT:     Abbreviation [[ABBREV1:0x[0-9a-f]*]] {201# CHECK-NEXT:       Tag: DW_TAG_variable202# CHECK-NEXT:       DW_IDX_die_offset: DW_FORM_ref4203# CHECK-NEXT:     }204# CHECK-NEXT:   ]205# CHECK-NEXT:   Bucket 0 [206# CHECK-NEXT:     Name 1 {207# CHECK-NEXT:       Hash: 0xB8860BA208# CHECK-NEXT:       String: 0x0000000c "bar"209# CHECK-NEXT:       Entry @ 0xa3 {210# CHECK-NEXT:         Abbrev: [[ABBREV1]]211# CHECK-NEXT:         Tag: DW_TAG_variable212# CHECK-NEXT:         DW_IDX_die_offset: 0x00000001213# CHECK-NEXT:       }214# CHECK-NEXT:     }215# CHECK-NEXT:   ]216# CHECK-NEXT: }217# CHECK-NEXT: Name Index @ 0xac {218# CHECK-NEXT:   Header {219# CHECK-NEXT:     Length: 0x68220# CHECK-NEXT:     Format: DWARF64221# CHECK-NEXT:     Version: 5222# CHECK-NEXT:     CU count: 1223# CHECK-NEXT:     Local TU count: 1224# CHECK-NEXT:     Foreign TU count: 1225# CHECK-NEXT:     Bucket count: 1226# CHECK-NEXT:     Name count: 1227# CHECK-NEXT:     Abbreviations table size: 0x9228# CHECK-NEXT:     Augmentation: ''229# CHECK-NEXT:   }230# CHECK-NEXT:   Compilation Unit offsets [231# CHECK-NEXT:     CU[0]: 0xcc00cccccccc232# CHECK-NEXT:   ]233# CHECK-NEXT:   Local Type Unit offsets [234# CHECK-NEXT:     LocalTU[0]: 0xaa00aaaaaaaa235# CHECK-NEXT:   ]236# CHECK-NEXT:   Foreign Type Unit signatures [237# CHECK-NEXT:     ForeignTU[0]: 0xffffff00ffffffff238# CHECK-NEXT:   ]239# CHECK-NEXT:   Abbreviations [240# CHECK-NEXT:     Abbreviation [[ABBREV2:0x[0-9a-f]*]] {241# CHECK-NEXT:       Tag: DW_TAG_base_type242# CHECK-NEXT:       DW_IDX_type_unit: DW_FORM_data4243# CHECK-NEXT:       DW_IDX_type_hash: DW_FORM_data8244# CHECK-NEXT:     }245# CHECK-NEXT:   ]246# CHECK-NEXT:   Bucket 0 [247# CHECK-NEXT:     Name 1 {248# CHECK-NEXT:       Hash: 0xB887389249# CHECK-NEXT:       String: 0x00000000 "foo"250# CHECK-NEXT:       Entry @ 0x111 {251# CHECK-NEXT:         Abbrev: [[ABBREV2]]252# CHECK-NEXT:         Tag: DW_TAG_base_type253# CHECK-NEXT:         DW_IDX_type_unit: 0x00000001254# CHECK-NEXT:         DW_IDX_type_hash: 0x0000ff03ffffffff255# CHECK-NEXT:       }256# CHECK-NEXT:     }257# CHECK-NEXT:   ]258# CHECK-NEXT: }259