151 lines · plain
1## This test checks that debug info related to deleted code (marked with2## tombstone=exec) is removed.3 4# RUN: yaml2obj %s -o %t.o5 6# RUN: llvm-dwarfutil --tombstone=exec --garbage-collection %t.o - | llvm-dwarfdump -a - | FileCheck %s7# RUN: llvm-dwarfutil --tombstone=universal --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-NOT: DW_TAG_class_type14# CHECK-NOT: "class2"15# CHECK-NOT: "class3"16# CHECK: DW_TAG_subprogram17# CHECK: DW_AT_name{{.*}}"foo1"18# CHECK: DW_AT_low_pc{{.*}}0x000000000000100019# CHECK: DW_AT_high_pc{{.*}}0x000000000000101020# CHECK: DW_AT_type{{.*}}"class1"21# CHECK-NOT: DW_TAG_subprogram22# CHECK-NOT: "foo2"23 24 25--- !ELF26FileHeader:27 Class: ELFCLASS6428 Data: ELFDATA2LSB29 Type: ET_REL30 Machine: EM_X86_6431Sections:32 - Name: .text33 Type: SHT_PROGBITS34 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]35 Address: 0x100036 Size: 0x1b37DWARF:38 debug_abbrev:39 - Table:40 - Tag: DW_TAG_compile_unit41 Children: DW_CHILDREN_yes42 Attributes:43 - Attribute: DW_AT_producer44 Form: DW_FORM_string45 - Attribute: DW_AT_language46 Form: DW_FORM_data247 - Attribute: DW_AT_name48 Form: DW_FORM_string49 - Attribute: DW_AT_low_pc50 Form: DW_FORM_addr51 - Attribute: DW_AT_high_pc52 Form: DW_FORM_data853 - Tag: DW_TAG_subprogram54 Children: DW_CHILDREN_no55 Attributes:56 - Attribute: DW_AT_name57 Form: DW_FORM_string58 - Attribute: DW_AT_low_pc59 Form: DW_FORM_addr60 - Attribute: DW_AT_high_pc61 Form: DW_FORM_data862 - Attribute: DW_AT_type63 Form: DW_FORM_ref464 - Tag: DW_TAG_class_type65 Children: DW_CHILDREN_yes66 Attributes:67 - Attribute: DW_AT_name68 Form: DW_FORM_string69 - Tag: DW_TAG_member70 Children: DW_CHILDREN_no71 Attributes:72 - Attribute: DW_AT_type73 Form: DW_FORM_ref474 - Attribute: DW_AT_name75 Form: DW_FORM_string76 - Tag: DW_TAG_class_type77 Children: DW_CHILDREN_no78 Attributes:79 - Attribute: DW_AT_name80 Form: DW_FORM_string81 - Attribute: DW_AT_declaration82 Form: DW_FORM_flag_present83 - Tag: DW_TAG_class_type84 Children: DW_CHILDREN_yes85 Attributes:86 - Attribute: DW_AT_name87 Form: DW_FORM_string88 - Attribute: DW_AT_declaration89 Form: DW_FORM_flag_present90 - Tag: DW_TAG_template_type_parameter91 Children: DW_CHILDREN_no92 Attributes:93 - Attribute: DW_AT_type94 Form: DW_FORM_ref495 - Tag: DW_TAG_base_type96 Children: DW_CHILDREN_no97 Attributes:98 - Attribute: DW_AT_name99 Form: DW_FORM_string100 debug_info:101 - Version: 4102 Entries:103 - AbbrCode: 1104 Values:105 - CStr: by_hand106 - Value: 0x04107 - CStr: CU1108 - Value: 0x1000109 - Value: 0x1b110 - AbbrCode: 3111 Values:112 - CStr: class1113 - AbbrCode: 4114 Values:115 - Value: 0x0000006c116 - CStr: member1117 - AbbrCode: 0118 - AbbrCode: 3119 Values:120 - CStr: class2121 - AbbrCode: 4122 Values:123 - Value: 0x0000006c124 - CStr: member1125 - AbbrCode: 0126 - AbbrCode: 3127 Values:128 - CStr: class3129 - AbbrCode: 4130 Values:131 - Value: 0x0000006c132 - CStr: member1133 - AbbrCode: 0134 - AbbrCode: 8135 Values:136 - CStr: int137 - AbbrCode: 2138 Values:139 - CStr: foo1140 - Value: 0x1000141 - Value: 0x10142 - Value: 0x0000002a143 - AbbrCode: 2144 Values:145 - CStr: foo2146 - Value: 0x0147 - Value: 0x100148 - Value: 0x00000040149 - AbbrCode: 0150...151