## Test that same-range dedup keeps the DWARF line table while replacing a ## shortened DWARF function name with the full Itanium symbol-table name. # RUN: yaml2obj %s -o %t # RUN: llvm-gsymutil --convert %t -o %t.gsym 2>&1 | FileCheck %s --check-prefix=CONVERT # RUN: llvm-gsymutil %t.gsym 2>&1 | FileCheck %s --check-prefix=DUMP # CONVERT: Loaded 1 functions from DWARF. # CONVERT: Loaded 1 functions from symbol table. # CONVERT: Pruned 1 functions, ended with 1 total # DUMP: "_Z10make_ftypePci" # DUMP: LineTable: # DUMP: main.cpp:10 # DUMP: main.cpp:11 --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_EXEC Machine: EM_X86_64 Sections: - Name: .text Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR ] Address: 0x0000000000401000 AddressAlign: 0x10 Content: 554889E531C05DC3554889E531C05DC3 DWARF: debug_str: - '' - main.cpp - make_ftype debug_abbrev: - ID: 0 Table: - Code: 0x1 Tag: DW_TAG_compile_unit Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_language Form: DW_FORM_udata - Attribute: DW_AT_stmt_list Form: DW_FORM_sec_offset - Code: 0x2 Tag: DW_TAG_subprogram Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_low_pc Form: DW_FORM_addr - Attribute: DW_AT_high_pc Form: DW_FORM_addr debug_info: - Length: 0x27 Version: 4 AbbrevTableID: 0 AbbrOffset: 0x0 AddrSize: 8 Entries: - AbbrCode: 0x1 Values: - Value: 0x1 - Value: 0x2 - Value: 0x0 - AbbrCode: 0x2 Values: - Value: 0xA - Value: 0x401000 - Value: 0x401010 - AbbrCode: 0x0 debug_line: - Length: 61 Version: 2 PrologueLength: 31 MinInstLength: 1 DefaultIsStmt: 1 LineBase: 251 LineRange: 14 OpcodeBase: 13 StandardOpcodeLengths: [ 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1 ] Files: - Name: main.cpp DirIdx: 0 ModTime: 0 Length: 0 Opcodes: - Opcode: DW_LNS_extended_op ExtLen: 9 SubOpcode: DW_LNE_set_address Data: 4198400 - Opcode: DW_LNS_advance_line SData: 9 Data: 0 - Opcode: DW_LNS_copy Data: 0 - Opcode: DW_LNS_advance_pc Data: 8 - Opcode: DW_LNS_advance_line SData: 1 Data: 0 - Opcode: DW_LNS_copy Data: 0 - Opcode: DW_LNS_advance_pc Data: 8 - Opcode: DW_LNS_extended_op ExtLen: 1 SubOpcode: DW_LNE_end_sequence Data: 0 ProgramHeaders: - Type: PT_LOAD Flags: [ PF_X, PF_R ] VAddr: 0x0000000000400000 Align: 0x1000 FirstSec: .text LastSec: .text Symbols: - Name: _Z10make_ftypePci Type: STT_FUNC Section: .text Binding: STB_GLOBAL Value: 0x0000000000401000 Size: 0x0000000000000010 ...