251 lines · plain
1## This test checks that overlapping compile unit address ranges2## are ignored (i.e. left unchanged) by --garbage-collection3## optimisation.4 5# RUN: yaml2obj %s -o %t.o6# RUN: llvm-dwarfutil --no-odr --garbage-collection %t.o %t17# RUN: llvm-dwarfdump -a %t1 | FileCheck %s8 9# RUN: llvm-dwarfutil --no-odr --linker parallel --garbage-collection %t.o %t110# RUN: llvm-dwarfdump -a %t1 | FileCheck %s11 12# CHECK: DW_TAG_compile_unit13# CHECK: DW_AT_name{{.*}}"CU1"14# CHECK: DW_TAG_class_type15# CHECK: DW_AT_name{{.*}}"class1"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_TAG_subprogram21# CHECK: DW_AT_name{{.*}}"foo2"22# CHECK: DW_AT_low_pc{{.*}}0x000000000000100023# CHECK: DW_AT_high_pc{{.*}}0x000000000000101024# CHECK: DW_AT_type{{.*}}"class2"25 26--- !ELF27FileHeader:28 Class: ELFCLASS6429 Data: ELFDATA2LSB30 Type: ET_REL31 Machine: EM_X86_6432Sections:33 - Name: .text34 Type: SHT_PROGBITS35 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]36 Address: 0x100037 AddressAlign: 0x000000000000001038 Content: "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"39DWARF: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 - Table:103 - Tag: DW_TAG_compile_unit104 Children: DW_CHILDREN_yes105 Attributes:106 - Attribute: DW_AT_producer107 Form: DW_FORM_string108 - Attribute: DW_AT_language109 Form: DW_FORM_data2110 - Attribute: DW_AT_name111 Form: DW_FORM_string112 - Attribute: DW_AT_low_pc113 Form: DW_FORM_addr114 - Attribute: DW_AT_high_pc115 Form: DW_FORM_data8116 - Tag: DW_TAG_subprogram117 Children: DW_CHILDREN_no118 Attributes:119 - Attribute: DW_AT_name120 Form: DW_FORM_string121 - Attribute: DW_AT_low_pc122 Form: DW_FORM_addr123 - Attribute: DW_AT_high_pc124 Form: DW_FORM_data8125 - Attribute: DW_AT_type126 Form: DW_FORM_ref4127 - Tag: DW_TAG_class_type128 Children: DW_CHILDREN_yes129 Attributes:130 - Attribute: DW_AT_name131 Form: DW_FORM_string132 - Tag: DW_TAG_member133 Children: DW_CHILDREN_no134 Attributes:135 - Attribute: DW_AT_type136 Form: DW_FORM_ref4137 - Attribute: DW_AT_name138 Form: DW_FORM_string139 - Tag: DW_TAG_class_type140 Children: DW_CHILDREN_no141 Attributes:142 - Attribute: DW_AT_name143 Form: DW_FORM_string144 - Attribute: DW_AT_declaration145 Form: DW_FORM_flag_present146 - Tag: DW_TAG_class_type147 Children: DW_CHILDREN_yes148 Attributes:149 - Attribute: DW_AT_name150 Form: DW_FORM_string151 - Attribute: DW_AT_declaration152 Form: DW_FORM_flag_present153 - Tag: DW_TAG_template_type_parameter154 Children: DW_CHILDREN_no155 Attributes:156 - Attribute: DW_AT_type157 Form: DW_FORM_ref4158 - Tag: DW_TAG_base_type159 Children: DW_CHILDREN_no160 Attributes:161 - Attribute: DW_AT_name162 Form: DW_FORM_string163 debug_info:164 - Version: 4165 Entries:166 - AbbrCode: 1167 Values:168 - CStr: by_hand169 - Value: 0x04170 - CStr: CU1171 - Value: 0x1000172 - Value: 0x1b173 - AbbrCode: 3174 Values:175 - CStr: class1176 - AbbrCode: 4177 Values:178 - Value: 0x0000006c179 - CStr: member1180 - AbbrCode: 0181 - AbbrCode: 3182 Values:183 - CStr: class2184 - AbbrCode: 4185 Values:186 - Value: 0x0000006c187 - CStr: member1188 - AbbrCode: 0189 - AbbrCode: 3190 Values:191 - CStr: class3192 - AbbrCode: 4193 Values:194 - Value: 0x0000006c195 - CStr: member1196 - AbbrCode: 0197 - AbbrCode: 8198 Values:199 - CStr: int200 - AbbrCode: 2201 Values:202 - CStr: foo1203 - Value: 0x1000204 - Value: 0x10205 - Value: 0x0000002a206 - AbbrCode: 0207 - Version: 4208 Entries:209 - AbbrCode: 1210 Values:211 - CStr: by_hand212 - Value: 0x04213 - CStr: CU1214 - Value: 0x1000215 - Value: 0x1b216 - AbbrCode: 3217 Values:218 - CStr: class1219 - AbbrCode: 4220 Values:221 - Value: 0x0000006c222 - CStr: member1223 - AbbrCode: 0224 - AbbrCode: 3225 Values:226 - CStr: class2227 - AbbrCode: 4228 Values:229 - Value: 0x0000006c230 - CStr: member1231 - AbbrCode: 0232 - AbbrCode: 3233 Values:234 - CStr: class3235 - AbbrCode: 4236 Values:237 - Value: 0x0000006c238 - CStr: member1239 - AbbrCode: 0240 - AbbrCode: 8241 Values:242 - CStr: int243 - AbbrCode: 2244 Values:245 - CStr: foo2246 - Value: 0x1000247 - Value: 0x10248 - Value: 0x00000040249 - AbbrCode: 0250...251