xref: /llvm-project/llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-macro-opcodeop.test (revision f1fdfe6888f93b9f6dfb4689e1f3206de584ff5b)
111e05005SAlexey Lapshin## This test checks that error is reported if opcode_operands_table_flag
211e05005SAlexey Lapshin## is used.
311e05005SAlexey Lapshin
411e05005SAlexey Lapshin# RUN: yaml2obj %s -o %t.o
511e05005SAlexey Lapshin# RUN: llvm-dwarfutil %t.o %t1 2>&1 | FileCheck --check-prefix=ERR %s
611e05005SAlexey Lapshin# RUN: llvm-dwarfdump --verify %t1 | FileCheck --check-prefix=VERIFY %s
711e05005SAlexey Lapshin# RUN: llvm-dwarfdump -a %t1 | FileCheck %s
811e05005SAlexey Lapshin
9*f1fdfe68SAlexey Lapshin# RUN: llvm-dwarfutil --linker parallel %t.o %t1 2>&1 | FileCheck --check-prefix=ERR %s
105f2a7fa6SAlexey Lapshin# RUN: llvm-dwarfdump --verify %t1 | FileCheck --check-prefix=VERIFY %s
115f2a7fa6SAlexey Lapshin# RUN: llvm-dwarfdump -a %t1 | FileCheck %s
125f2a7fa6SAlexey Lapshin
1311e05005SAlexey Lapshin# ERR: error: opcode_operands_table is not supported
1411e05005SAlexey Lapshin
1511e05005SAlexey Lapshin# VERIFY: No errors.
1611e05005SAlexey Lapshin
1711e05005SAlexey Lapshin##  Content:        "05000403000200":
1811e05005SAlexey Lapshin#
1911e05005SAlexey Lapshin##  .short  5    # Macro information version
2011e05005SAlexey Lapshin##  .byte   0    # Flags: 32 bit
2111e05005SAlexey Lapshin##  .byte   3    # DW_MACRO_start_file
2211e05005SAlexey Lapshin##  .byte   0    # Line Number
2311e05005SAlexey Lapshin##  .byte   2    # File Number
2411e05005SAlexey Lapshin##  .byte   0    # End Of Macro List Mark
2511e05005SAlexey Lapshin
2611e05005SAlexey Lapshin#CHECK: .debug_info contents:
2711e05005SAlexey Lapshin#CHECK:  DW_TAG_compile_unit
2811e05005SAlexey Lapshin#CHECK:    DW_AT_name        ("CU1")
2911e05005SAlexey Lapshin#CHECK-NOT:  DW_AT_macros
3011e05005SAlexey Lapshin#CHECK-NOT: .debug_macro contents:
3111e05005SAlexey Lapshin
3211e05005SAlexey Lapshin--- !ELF
3311e05005SAlexey LapshinFileHeader:
3411e05005SAlexey Lapshin  Class:    ELFCLASS64
3511e05005SAlexey Lapshin  Data:     ELFDATA2LSB
3611e05005SAlexey Lapshin  Type:     ET_REL
3711e05005SAlexey Lapshin  Machine:  EM_X86_64
3811e05005SAlexey LapshinSections:
3911e05005SAlexey Lapshin  - Name:            .text
4011e05005SAlexey Lapshin    Type:            SHT_PROGBITS
4111e05005SAlexey Lapshin    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
4211e05005SAlexey Lapshin    Address:         0x1000
4311e05005SAlexey Lapshin    Size:            0x1b
4411e05005SAlexey Lapshin  - Name:            .debug_macro
4511e05005SAlexey Lapshin    Type:            SHT_PROGBITS
4611e05005SAlexey Lapshin    Flags:           [  ]
4711e05005SAlexey Lapshin    Content:        "05000403000200"
4811e05005SAlexey Lapshin  - Name:            .debug_str_offsets
4911e05005SAlexey Lapshin    Type:            SHT_PROGBITS
5011e05005SAlexey Lapshin    Flags:           [  ]
5111e05005SAlexey Lapshin    Content:        "080000000500000000000000"
5211e05005SAlexey LapshinDWARF:
5311e05005SAlexey Lapshin  debug_abbrev:
5411e05005SAlexey Lapshin    - Table:
5511e05005SAlexey Lapshin      - Tag:      DW_TAG_compile_unit
5611e05005SAlexey Lapshin        Children: DW_CHILDREN_yes
5711e05005SAlexey Lapshin        Attributes:
5811e05005SAlexey Lapshin          - Attribute: DW_AT_producer
5911e05005SAlexey Lapshin            Form:      DW_FORM_string
6011e05005SAlexey Lapshin          - Attribute: DW_AT_language
6111e05005SAlexey Lapshin            Form:      DW_FORM_data2
6211e05005SAlexey Lapshin          - Attribute: DW_AT_name
6311e05005SAlexey Lapshin            Form:      DW_FORM_string
6411e05005SAlexey Lapshin          - Attribute: DW_AT_low_pc
6511e05005SAlexey Lapshin            Form:      DW_FORM_addr
6611e05005SAlexey Lapshin          - Attribute: DW_AT_high_pc
6711e05005SAlexey Lapshin            Form:      DW_FORM_data8
6811e05005SAlexey Lapshin          - Attribute: DW_AT_macros
6911e05005SAlexey Lapshin            Form:      DW_FORM_sec_offset
7011e05005SAlexey Lapshin          - Attribute: DW_AT_str_offsets_base
7111e05005SAlexey Lapshin            Form:      DW_FORM_sec_offset
7211e05005SAlexey Lapshin      - Tag:      DW_TAG_class_type
7311e05005SAlexey Lapshin        Children: DW_CHILDREN_yes
7411e05005SAlexey Lapshin        Attributes:
7511e05005SAlexey Lapshin          - Attribute: DW_AT_name
7611e05005SAlexey Lapshin            Form:      DW_FORM_string
7711e05005SAlexey Lapshin      - Tag:      DW_TAG_member
7811e05005SAlexey Lapshin        Children: DW_CHILDREN_no
7911e05005SAlexey Lapshin        Attributes:
8011e05005SAlexey Lapshin          - Attribute: DW_AT_type
8111e05005SAlexey Lapshin            Form:      DW_FORM_ref4
8211e05005SAlexey Lapshin          - Attribute: DW_AT_name
8311e05005SAlexey Lapshin            Form:      DW_FORM_string
8411e05005SAlexey Lapshin      - Tag:      DW_TAG_class_type
8511e05005SAlexey Lapshin        Children: DW_CHILDREN_no
8611e05005SAlexey Lapshin        Attributes:
8711e05005SAlexey Lapshin          - Attribute: DW_AT_name
8811e05005SAlexey Lapshin            Form:      DW_FORM_string
8911e05005SAlexey Lapshin          - Attribute: DW_AT_declaration
9011e05005SAlexey Lapshin            Form:      DW_FORM_flag_present
9111e05005SAlexey Lapshin      - Tag:      DW_TAG_class_type
9211e05005SAlexey Lapshin        Children: DW_CHILDREN_yes
9311e05005SAlexey Lapshin        Attributes:
9411e05005SAlexey Lapshin          - Attribute: DW_AT_name
9511e05005SAlexey Lapshin            Form:      DW_FORM_string
9611e05005SAlexey Lapshin          - Attribute: DW_AT_declaration
9711e05005SAlexey Lapshin            Form:      DW_FORM_flag_present
9811e05005SAlexey Lapshin      - Tag:      DW_TAG_template_type_parameter
9911e05005SAlexey Lapshin        Children: DW_CHILDREN_no
10011e05005SAlexey Lapshin        Attributes:
10111e05005SAlexey Lapshin          - Attribute: DW_AT_type
10211e05005SAlexey Lapshin            Form:      DW_FORM_ref4
10311e05005SAlexey Lapshin      - Tag:      DW_TAG_base_type
10411e05005SAlexey Lapshin        Children: DW_CHILDREN_no
10511e05005SAlexey Lapshin        Attributes:
10611e05005SAlexey Lapshin          - Attribute: DW_AT_name
10711e05005SAlexey Lapshin            Form:      DW_FORM_string
10811e05005SAlexey Lapshin      - Tag:      DW_TAG_pointer_type
10911e05005SAlexey Lapshin        Children: DW_CHILDREN_no
11011e05005SAlexey Lapshin        Attributes:
11111e05005SAlexey Lapshin          - Attribute: DW_AT_type
11211e05005SAlexey Lapshin            Form:      DW_FORM_ref4
11311e05005SAlexey Lapshin      - Tag:      DW_TAG_variable
11411e05005SAlexey Lapshin        Children: DW_CHILDREN_no
11511e05005SAlexey Lapshin        Attributes:
11611e05005SAlexey Lapshin          - Attribute: DW_AT_name
11711e05005SAlexey Lapshin            Form:      DW_FORM_string
11811e05005SAlexey Lapshin          - Attribute: DW_AT_const_value
11911e05005SAlexey Lapshin            Form:      DW_FORM_data4
12011e05005SAlexey Lapshin          - Attribute: DW_AT_type
12111e05005SAlexey Lapshin            Form:      DW_FORM_ref4
12211e05005SAlexey Lapshin      - Tag:      DW_TAG_subprogram
12311e05005SAlexey Lapshin        Children: DW_CHILDREN_no
12411e05005SAlexey Lapshin        Attributes:
12511e05005SAlexey Lapshin          - Attribute: DW_AT_name
12611e05005SAlexey Lapshin            Form:      DW_FORM_string
12711e05005SAlexey Lapshin          - Attribute: DW_AT_low_pc
12811e05005SAlexey Lapshin            Form:      DW_FORM_addr
12911e05005SAlexey Lapshin          - Attribute: DW_AT_high_pc
13011e05005SAlexey Lapshin            Form:      DW_FORM_data8
13111e05005SAlexey Lapshin          - Attribute: DW_AT_type
13211e05005SAlexey Lapshin            Form:      DW_FORM_ref4
13311e05005SAlexey Lapshin  debug_info:
13411e05005SAlexey Lapshin    - Version: 5
13511e05005SAlexey Lapshin      UnitType:   DW_UT_compile
13611e05005SAlexey Lapshin      Entries:
13711e05005SAlexey Lapshin        - AbbrCode: 1
13811e05005SAlexey Lapshin          Values:
13911e05005SAlexey Lapshin            - CStr: by_hand
14011e05005SAlexey Lapshin            - Value:  0x04
14111e05005SAlexey Lapshin            - CStr: CU1
14211e05005SAlexey Lapshin            - Value:  0x1000
14311e05005SAlexey Lapshin            - Value:  0x1b
14411e05005SAlexey Lapshin            - Value:  0x0
14511e05005SAlexey Lapshin            - Value:  0x8
14611e05005SAlexey Lapshin        - AbbrCode: 2
14711e05005SAlexey Lapshin          Values:
14811e05005SAlexey Lapshin            - CStr: class1
14911e05005SAlexey Lapshin        - AbbrCode: 3
15011e05005SAlexey Lapshin          Values:
15111e05005SAlexey Lapshin            - Value:  0x00000056
15211e05005SAlexey Lapshin            - CStr: member1
15311e05005SAlexey Lapshin        - AbbrCode: 3
15411e05005SAlexey Lapshin          Values:
15511e05005SAlexey Lapshin            - Value:  0x0000005b
15611e05005SAlexey Lapshin            - CStr: member2
15711e05005SAlexey Lapshin        - AbbrCode: 0
15811e05005SAlexey Lapshin        - AbbrCode: 7
15911e05005SAlexey Lapshin          Values:
16011e05005SAlexey Lapshin            - CStr: int
16111e05005SAlexey Lapshin        - AbbrCode: 7
16211e05005SAlexey Lapshin          Values:
16311e05005SAlexey Lapshin            - CStr: char
16411e05005SAlexey Lapshin        - AbbrCode: 7
16511e05005SAlexey Lapshin          Values:
16611e05005SAlexey Lapshin            - CStr: float
16711e05005SAlexey Lapshin        - AbbrCode: 8
16811e05005SAlexey Lapshin          Values:
16911e05005SAlexey Lapshin            - Value:  0x00000033
17011e05005SAlexey Lapshin        - AbbrCode: 9
17111e05005SAlexey Lapshin          Values:
17211e05005SAlexey Lapshin            - CStr: var1
17311e05005SAlexey Lapshin            - Value:  0x00000000
17411e05005SAlexey Lapshin            - Value:  0x00000056
17511e05005SAlexey Lapshin        - AbbrCode: 10
17611e05005SAlexey Lapshin          Values:
17711e05005SAlexey Lapshin            - CStr: foo1
17811e05005SAlexey Lapshin            - Value:  0x1000
17911e05005SAlexey Lapshin            - Value:  0x10
18011e05005SAlexey Lapshin            - Value:  0x00000033
18111e05005SAlexey Lapshin        - AbbrCode: 0
18211e05005SAlexey Lapshin        - AbbrCode: 0
18311e05005SAlexey Lapshin  debug_str:
18411e05005SAlexey Lapshin    - 'aa'
18511e05005SAlexey Lapshin...
186