145 lines · plain
1## This test checks that debug info removal optimization (--garbage-collection)2## does not affect files which do not have dead debug info.3 4# RUN: yaml2obj %s -o %t.o5# RUN: llvm-dwarfutil --no-odr --tombstone=maxpc --garbage-collection %t.o - | llvm-dwarfdump -a - | FileCheck %s6 7# RUN: llvm-dwarfutil --no-odr --linker parallel --tombstone=maxpc --garbage-collection %t.o - | llvm-dwarfdump -a - | FileCheck %s8 9# CHECK: DW_TAG_compile_unit10# CHECK: DW_AT_name{{.*}}"CU1"11# CHECK: DW_TAG_class_type12# CHECK: DW_AT_name{{.*}}"class1"13# CHECK: DW_TAG_class_type14# CHECK: "class2"15# CHECK: DW_TAG_subprogram16# CHECK: DW_AT_name{{.*}}"foo1"17# CHECK: DW_AT_low_pc{{.*}}0x000000000000100018# CHECK: DW_AT_high_pc{{.*}}0x000000000000101019# CHECK: DW_AT_type{{.*}}"class1"20# CHECK: DW_TAG_subprogram21# CHECK: "foo2"22# CHECK: DW_AT_low_pc{{.*}}0x000000000000101023# CHECK: DW_AT_high_pc{{.*}}0x000000000000101b24# CHECK: DW_AT_type{{.*}}"class2"25 26 27--- !ELF28FileHeader:29 Class: ELFCLASS6430 Data: ELFDATA2LSB31 Type: ET_REL32 Machine: EM_X86_6433Sections:34 - Name: .text35 Type: SHT_PROGBITS36 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]37 Address: 0x100038 Size: 0x1b39DWARF:40 debug_abbrev:41 - Table:42 - Tag: DW_TAG_compile_unit43 Children: DW_CHILDREN_yes44 Attributes:45 - Attribute: DW_AT_producer46 Form: DW_FORM_string47 - Attribute: DW_AT_language48 Form: DW_FORM_data249 - Attribute: DW_AT_name50 Form: DW_FORM_string51 - Attribute: DW_AT_low_pc52 Form: DW_FORM_addr53 - Attribute: DW_AT_high_pc54 Form: DW_FORM_data855 - Tag: DW_TAG_subprogram56 Children: DW_CHILDREN_no57 Attributes:58 - Attribute: DW_AT_name59 Form: DW_FORM_string60 - Attribute: DW_AT_low_pc61 Form: DW_FORM_addr62 - Attribute: DW_AT_high_pc63 Form: DW_FORM_data864 - Attribute: DW_AT_type65 Form: DW_FORM_ref466 - Tag: DW_TAG_class_type67 Children: DW_CHILDREN_yes68 Attributes:69 - Attribute: DW_AT_name70 Form: DW_FORM_string71 - Tag: DW_TAG_member72 Children: DW_CHILDREN_no73 Attributes:74 - Attribute: DW_AT_type75 Form: DW_FORM_ref476 - Attribute: DW_AT_name77 Form: DW_FORM_string78 - Tag: DW_TAG_class_type79 Children: DW_CHILDREN_no80 Attributes:81 - Attribute: DW_AT_name82 Form: DW_FORM_string83 - Attribute: DW_AT_declaration84 Form: DW_FORM_flag_present85 - Tag: DW_TAG_class_type86 Children: DW_CHILDREN_yes87 Attributes:88 - Attribute: DW_AT_name89 Form: DW_FORM_string90 - Attribute: DW_AT_declaration91 Form: DW_FORM_flag_present92 - Tag: DW_TAG_template_type_parameter93 Children: DW_CHILDREN_no94 Attributes:95 - Attribute: DW_AT_type96 Form: DW_FORM_ref497 - Tag: DW_TAG_base_type98 Children: DW_CHILDREN_no99 Attributes:100 - Attribute: DW_AT_name101 Form: DW_FORM_string102 debug_info:103 - Version: 4104 Entries:105 - AbbrCode: 1106 Values:107 - CStr: by_hand108 - Value: 0x04109 - CStr: CU1110 - Value: 0x1000111 - Value: 0x1b112 - AbbrCode: 3113 Values:114 - CStr: class1115 - AbbrCode: 4116 Values:117 - Value: 0x00000056118 - CStr: member1119 - AbbrCode: 0120 - AbbrCode: 3121 Values:122 - CStr: class2123 - AbbrCode: 4124 Values:125 - Value: 0x00000056126 - CStr: member1127 - AbbrCode: 0128 - AbbrCode: 8129 Values:130 - CStr: int131 - AbbrCode: 2132 Values:133 - CStr: foo1134 - Value: 0x1000135 - Value: 0x10136 - Value: 0x0000002a137 - AbbrCode: 2138 Values:139 - CStr: foo2140 - Value: 0x1010141 - Value: 0xb142 - Value: 0x00000040143 - AbbrCode: 0144...145