142 lines
4.6 KiB
Text
142 lines
4.6 KiB
Text
|
## Test that DWARFv5 DW_FORM_line_strp and corresponding .debug_line_str
|
||
|
## table are correctly recognized and copied into the result.
|
||
|
|
||
|
# RUN: yaml2obj %s -o %t.o
|
||
|
|
||
|
# RUN: llvm-dwarfutil %t.o %t1
|
||
|
# RUN: llvm-dwarfdump -verify %t1 | FileCheck %s --check-prefix VERIFY-CHECK
|
||
|
# RUN: llvm-dwarfdump -a --verbose %t1 | FileCheck %s
|
||
|
|
||
|
# RUN: llvm-dwarfutil --no-garbage-collection %t.o %t1
|
||
|
# RUN: llvm-dwarfdump -verify %t1 | FileCheck %s --check-prefix VERIFY-CHECK
|
||
|
# RUN: llvm-dwarfdump -a --verbose %t1 | FileCheck %s
|
||
|
|
||
|
# RUN: llvm-dwarfutil --no-garbage-collection --build-accelerator=DWARF %t.o %t1
|
||
|
# RUN: llvm-dwarfdump -verify %t1 | FileCheck %s --check-prefix VERIFY-CHECK
|
||
|
# RUN: llvm-dwarfdump -a --verbose %t1 | FileCheck %s
|
||
|
|
||
|
# RUN: llvm-dwarfutil --linker parallel %t.o %t1
|
||
|
# RUN: llvm-dwarfdump -verify %t1 | FileCheck %s --check-prefix VERIFY-CHECK
|
||
|
# RUN: llvm-dwarfdump -a --verbose %t1 | FileCheck %s
|
||
|
|
||
|
# RUN: llvm-dwarfutil --linker parallel --no-garbage-collection %t.o %t1
|
||
|
# RUN: llvm-dwarfdump -verify %t1 | FileCheck %s --check-prefix VERIFY-CHECK
|
||
|
# RUN: llvm-dwarfdump -a --verbose %t1 | FileCheck %s
|
||
|
|
||
|
# RUN: llvm-dwarfutil --linker parallel --no-garbage-collection --build-accelerator=DWARF %t.o %t1
|
||
|
# RUN: llvm-dwarfdump -verify %t1 | FileCheck %s --check-prefix VERIFY-CHECK
|
||
|
# RUN: llvm-dwarfdump -a --verbose %t1 | FileCheck %s
|
||
|
|
||
|
#VERIFY-CHECK: No errors.
|
||
|
|
||
|
#CHECK: .debug_info
|
||
|
#CHECK: DW_TAG_compile_unit
|
||
|
#CHECK: DW_TAG_subprogram
|
||
|
#CHECK: DW_AT_name [DW_FORM_line_strp] ( .debug_line_str[0x00000000] = "foo1")
|
||
|
#CHECK: .debug_line
|
||
|
#CHECK: include_directories[ 0] = .debug_line_str[0x00000000] = "foo1"
|
||
|
#CHECK: include_directories[ 1] = .debug_line_str[0x00000000] = "foo1"
|
||
|
#CHECK: file_names[ 0]:
|
||
|
#CHECK: name: .debug_line_str[0x00000000] = "foo1"
|
||
|
#CHECK: file_names[ 1]:
|
||
|
#CHECK: name: .debug_line_str[0x00000000] = "foo1"
|
||
|
#CHECK: .debug_line_str
|
||
|
#CHECK: "foo1"
|
||
|
|
||
|
--- !ELF
|
||
|
FileHeader:
|
||
|
Class: ELFCLASS64
|
||
|
Data: ELFDATA2LSB
|
||
|
Type: ET_REL
|
||
|
Machine: EM_X86_64
|
||
|
Sections:
|
||
|
- Name: .text
|
||
|
Type: SHT_PROGBITS
|
||
|
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
||
|
Address: 0x1130
|
||
|
Size: 0x60
|
||
|
- Name: .debug_line_str
|
||
|
Type: SHT_PROGBITS
|
||
|
Flags: [ ]
|
||
|
Content: "666f6f3100"
|
||
|
- Name: .debug_line
|
||
|
Type: SHT_PROGBITS
|
||
|
Flags: [ ]
|
||
|
Content: "2a00000005000801220000000102030405050102030401011f02000000000000000001011f020000000000000000"
|
||
|
DWARF:
|
||
|
debug_abbrev:
|
||
|
- Table:
|
||
|
- Tag: DW_TAG_compile_unit
|
||
|
Children: DW_CHILDREN_yes
|
||
|
Attributes:
|
||
|
- Attribute: DW_AT_producer
|
||
|
Form: DW_FORM_string
|
||
|
- Attribute: DW_AT_language
|
||
|
Form: DW_FORM_data2
|
||
|
- Attribute: DW_AT_name
|
||
|
Form: DW_FORM_string
|
||
|
- Attribute: DW_AT_low_pc
|
||
|
Form: DW_FORM_addrx
|
||
|
- Attribute: DW_AT_high_pc
|
||
|
Form: DW_FORM_data8
|
||
|
- Attribute: DW_AT_addr_base
|
||
|
Form: DW_FORM_sec_offset
|
||
|
- Attribute: DW_AT_stmt_list
|
||
|
Form: DW_FORM_sec_offset
|
||
|
- Tag: DW_TAG_subprogram
|
||
|
Children: DW_CHILDREN_yes
|
||
|
Attributes:
|
||
|
- Attribute: DW_AT_name
|
||
|
Form: DW_FORM_line_strp
|
||
|
- Attribute: DW_AT_low_pc
|
||
|
Form: DW_FORM_addrx
|
||
|
- Attribute: DW_AT_high_pc
|
||
|
Form: DW_FORM_data8
|
||
|
- Attribute: DW_AT_type
|
||
|
Form: DW_FORM_ref4
|
||
|
- Tag: DW_TAG_base_type
|
||
|
Children: DW_CHILDREN_no
|
||
|
Attributes:
|
||
|
- Attribute: DW_AT_name
|
||
|
Form: DW_FORM_string
|
||
|
- Tag: DW_TAG_variable
|
||
|
Children: DW_CHILDREN_no
|
||
|
Attributes:
|
||
|
- Attribute: DW_AT_name
|
||
|
Form: DW_FORM_string
|
||
|
- Attribute: DW_AT_const_value
|
||
|
Form: DW_FORM_implicit_const
|
||
|
Value: 33
|
||
|
- Attribute: DW_AT_type
|
||
|
Form: DW_FORM_ref4
|
||
|
debug_info:
|
||
|
- Version: 5
|
||
|
UnitType: DW_UT_compile
|
||
|
Entries:
|
||
|
- AbbrCode: 1
|
||
|
Values:
|
||
|
- CStr: by_hand
|
||
|
- Value: 0x04
|
||
|
- CStr: CU1
|
||
|
- Value: 0x0
|
||
|
- Value: 0x10
|
||
|
- Value: 0x8
|
||
|
- Value: 0x0
|
||
|
- AbbrCode: 2
|
||
|
Values:
|
||
|
- Value: 0x0
|
||
|
- Value: 0x0
|
||
|
- Value: 0x10
|
||
|
- Value: 0x3f
|
||
|
- AbbrCode: 0
|
||
|
- AbbrCode: 3
|
||
|
Values:
|
||
|
- CStr: int
|
||
|
- AbbrCode: 0
|
||
|
debug_addr:
|
||
|
- Version: 5
|
||
|
AddressSize: 0x08
|
||
|
Entries:
|
||
|
- Address: 0x1130
|
||
|
...
|