brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.9 KiB · 117f527 Raw
258 lines · plain
1## This test checks that overlapping function address ranges2## are combined during --garbage-collection optimisation.3 4# RUN: yaml2obj %s -o %t.o5# RUN: llvm-dwarfutil --no-odr --garbage-collection %t.o %t16# RUN: llvm-dwarfdump -a %t1 | FileCheck %s7 8# RUN: llvm-dwarfutil --no-odr --linker parallel --garbage-collection %t.o %t19# RUN: llvm-dwarfdump -a %t1 | FileCheck %s10 11# CHECK: DW_TAG_compile_unit12# CHECK: DW_AT_name{{.*}}"CU1"13# CHECK: DW_AT_low_pc{{.*}}000000000000100014# CHECK: DW_AT_ranges15# CHECK: [0x0000000000001000, 0x000000000000102d)16# CHECK: [0x0000000000002002, 0x000000000000200d)17# CHECK: [0x000000000000201b, 0x000000000000202a)18# CHECK: [0x0000000000003002, 0x0000000000003007)19# CHECK: [0x0000000000003012, 0x0000000000003017)20# CHECK: [0x0000000000003018, 0x000000000000301a)21# CHECK: [0x0000000000003022, 0x000000000000302722# CHECK: DW_TAG_class_type23# CHECK: DW_AT_name{{.*}}"class1"24# CHECK: DW_TAG_class_type25# CHECK: "class2"26# CHECK: DW_TAG_subprogram27# CHECK: DW_AT_name{{.*}}"foo1"28# CHECK: DW_AT_low_pc{{.*}}0x000000000000100029# CHECK: DW_AT_high_pc{{.*}}0x000000000000101030# CHECK: DW_AT_type{{.*}}"class1"31# CHECK: DW_TAG_subprogram32# CHECK: "foo2"33# CHECK: DW_AT_low_pc{{.*}}0x000000000000100434# CHECK: DW_AT_high_pc{{.*}}0x000000000000100735# CHECK: DW_AT_type{{.*}}"class2"36# CHECK: DW_TAG_subprogram37# CHECK: "foo3"38# CHECK: DW_AT_low_pc{{.*}}0x000000000000100d39# CHECK: DW_AT_high_pc{{.*}}0x000000000000102d40# CHECK: DW_TAG_subprogram41# CHECK: "foo4"42# CHECK: DW_AT_low_pc{{.*}}0x000000000000200243# CHECK: DW_AT_high_pc{{.*}}0x000000000000200d44# CHECK: DW_TAG_subprogram45# CHECK: "foo5"46# CHECK: DW_AT_low_pc{{.*}}0x000000000000201b47# CHECK: DW_AT_high_pc{{.*}}0x000000000000202a48# CHECK: DW_TAG_subprogram49# CHECK: "foo6"50# CHECK: DW_AT_low_pc{{.*}}0x000000000000300251# CHECK: DW_AT_high_pc{{.*}}0x000000000000300752# CHECK: DW_TAG_subprogram53# CHECK: "foo7"54# CHECK: DW_AT_low_pc{{.*}}0x000000000000301255# CHECK: DW_AT_high_pc{{.*}}0x000000000000301756# CHECK: DW_TAG_subprogram57# CHECK: "foo8"58# CHECK: DW_AT_low_pc{{.*}}0x000000000000302259# CHECK: DW_AT_high_pc{{.*}}0x000000000000302760# CHECK: DW_TAG_subprogram61# CHECK: "foo9"62# CHECK: DW_AT_low_pc{{.*}}0x000000000000301263# CHECK: DW_AT_high_pc{{.*}}0x000000000000301764# CHECK: "foo10"65# CHECK: DW_AT_low_pc{{.*}}0x000000000000301866# CHECK: DW_AT_high_pc{{.*}}0x000000000000301a67 68--- !ELF69FileHeader:70  Class:    ELFCLASS6471  Data:     ELFDATA2LSB72  Type:     ET_REL73  Machine:  EM_X86_6474Sections:75  - Name:            .text76    Type:            SHT_PROGBITS77    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]78    Address:         0x100079    AddressAlign:    0x000000000000001080    Content:        "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"81  - Name:            .text282    Type:            SHT_PROGBITS83    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]84    Address:         0x200085    AddressAlign:    0x000000000000001086    Content:        "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"87  - Name:            .text388    Type:            SHT_PROGBITS89    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]90    Address:         0x300091    AddressAlign:    0x000000000000001092    Content:        "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"93DWARF:94  debug_abbrev:95    - Table:96      - Tag:      DW_TAG_compile_unit97        Children: DW_CHILDREN_yes98        Attributes:99          - Attribute: DW_AT_producer100            Form:      DW_FORM_string101          - Attribute: DW_AT_language102            Form:      DW_FORM_data2103          - Attribute: DW_AT_name104            Form:      DW_FORM_string105          - Attribute: DW_AT_low_pc106            Form:      DW_FORM_addr107          - Attribute: DW_AT_ranges108            Form:      DW_FORM_sec_offset109      - Tag:      DW_TAG_subprogram110        Children: DW_CHILDREN_no111        Attributes:112          - Attribute: DW_AT_name113            Form:      DW_FORM_string114          - Attribute: DW_AT_low_pc115            Form:      DW_FORM_addr116          - Attribute: DW_AT_high_pc117            Form:      DW_FORM_data8118          - Attribute: DW_AT_type119            Form:      DW_FORM_ref4120      - Tag:      DW_TAG_class_type121        Children: DW_CHILDREN_yes122        Attributes:123          - Attribute: DW_AT_name124            Form:      DW_FORM_string125      - Tag:      DW_TAG_member126        Children: DW_CHILDREN_no127        Attributes:128          - Attribute: DW_AT_type129            Form:      DW_FORM_ref4130          - Attribute: DW_AT_name131            Form:      DW_FORM_string132      - Tag:      DW_TAG_class_type133        Children: DW_CHILDREN_no134        Attributes:135          - Attribute: DW_AT_name136            Form:      DW_FORM_string137          - Attribute: DW_AT_declaration138            Form:      DW_FORM_flag_present139      - Tag:      DW_TAG_class_type140        Children: DW_CHILDREN_yes141        Attributes:142          - Attribute: DW_AT_name143            Form:      DW_FORM_string144          - Attribute: DW_AT_declaration145            Form:      DW_FORM_flag_present146      - Tag:      DW_TAG_template_type_parameter147        Children: DW_CHILDREN_no148        Attributes:149          - Attribute: DW_AT_type150            Form:      DW_FORM_ref4151      - Tag:      DW_TAG_base_type152        Children: DW_CHILDREN_no153        Attributes:154          - Attribute: DW_AT_name155            Form:      DW_FORM_string156  debug_info:157    - Version: 4158      Entries:159        - AbbrCode: 1160          Values:161            - CStr: by_hand162            - Value:  0x04163            - CStr: CU1164            - Value:  0x00165            - Value:  0x00166        - AbbrCode: 3167          Values:168            - CStr: class1169        - AbbrCode: 4170          Values:171            - Value:  0x00000052172            - CStr: member1173        - AbbrCode: 0174        - AbbrCode: 3175          Values:176            - CStr: class2177        - AbbrCode: 4178          Values:179            - Value:  0x00000052180            - CStr: member1181        - AbbrCode: 0182        - AbbrCode: 8183          Values:184            - CStr: int185        - AbbrCode: 2186          Values:187            - CStr: foo1188            - Value:  0x1000189            - Value:  0x10190            - Value:  0x00000026191        - AbbrCode: 2192          Values:193            - CStr: foo2194            - Value:  0x1004195            - Value:  0x3196            - Value:  0x0000003c197        - AbbrCode: 2198          Values:199            - CStr: foo3200            - Value:  0x100d201            - Value:  0x20202            - Value:  0x0000003c203        - AbbrCode: 2204          Values:205            - CStr: foo4206            - Value:  0x2002207            - Value:  0xb208            - Value:  0x0000003c209        - AbbrCode: 2210          Values:211            - CStr: foo5212            - Value:  0x201b213            - Value:  0xf214            - Value:  0x0000003c215        - AbbrCode: 2216          Values:217            - CStr: foo6218            - Value:  0x3002219            - Value:  0x5220            - Value:  0x0000003c221        - AbbrCode: 2222          Values:223            - CStr: foo7224            - Value:  0x3012225            - Value:  0x5226            - Value:  0x0000003c227        - AbbrCode: 2228          Values:229            - CStr: foo8230            - Value:  0x3022231            - Value:  0x5232            - Value:  0x0000003c233        - AbbrCode: 2234          Values:235            - CStr: foo9236            - Value:  0x3012237            - Value:  0x5238            - Value:  0x0000003c239        - AbbrCode: 2240          Values:241            - CStr: foo10242            - Value:  0x3018243            - Value:  0x2244            - Value:  0x0000003c245        - AbbrCode: 0246 247  debug_ranges:248    - Offset:          0x00000000249      AddrSize:        0x08250      Entries:251        - LowOffset:       0x0000000000001000252          HighOffset:      0x000000000000102d253        - LowOffset:       0x0000000000002000254          HighOffset:      0x000000000000202d255        - LowOffset:       0x0000000000000000256          HighOffset:      0x0000000000000000257...258