
This patch renames values of dsymutil/llvm-dwarfutil options: --linker apple -> --linker classic --linker llvm -> --linker parallel The purpose to rename options is to avoid using vendor names and to match with library names. It should be safe to rename options at current stage as they are not seemed widely used(we may not preserve backward compatibility).
142 lines
4.6 KiB
Plaintext
142 lines
4.6 KiB
Plaintext
## 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
|
|
...
|