64 lines · plain
1# Test that parsing of line tables works reasonably. In this case the debug info2# does not have enough information for our heuristics to determine the path3# style, so we will just treat them as native host paths.4 5# REQUIRES: lld6 7# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj > %t.o8# RUN: ld.lld %t.o -o %t -z separate-code9# RUN: %lldb %t -s %S/Inputs/dir-separator-no-comp-dir-relative-name.lldbinit -o exit | FileCheck %s10 11# CHECK-LABEL: image dump line-table a.c12# CHECK: Line table for foo{{.}}a.c13# CHECK-NEXT: 0x0000000000201000: foo{{.}}a.c:114# CHECK-NEXT: 0x0000000000201001: foo{{.}}b.c:115# CHECK-NEXT: 0x0000000000201002: foo{{.}}b.c:116# CHECK-EMPTY:17 18# CHECK-LABEL: breakpoint set -f a.c -l 119# CHECK: Breakpoint 1: {{.*}}`_start,20 21# CHECK-LABEL: breakpoint set -f foo/b.c -l 122# CHECK: Breakpoint 2: {{.*}}`_start + 1,23 24 .text25 .globl _start26_start:27 .file 1 "foo/a.c"28 .loc 1 1 029 nop30 .file 2 "foo/b.c"31 .loc 2 1 032 nop33 34 .section .debug_str,"MS",@progbits,135.Linfo_string1:36 .asciz "foo/a.c"37 .section .debug_abbrev,"",@progbits38 .byte 1 # Abbreviation Code39 .byte 17 # DW_TAG_compile_unit40 .byte 0 # DW_CHILDREN_no41 .byte 19 # DW_AT_language42 .byte 5 # DW_FORM_data243 .byte 3 # DW_AT_name44 .byte 14 # DW_FORM_strp45 .byte 16 # DW_AT_stmt_list46 .byte 23 # DW_FORM_sec_offset47 .byte 0 # EOM(1)48 .byte 0 # EOM(2)49 .byte 0 # EOM(3)50 .section .debug_info,"",@progbits51.Lcu_begin0:52 .long .Lcu_end0-.Lcu_start0 # Length of Unit53.Lcu_start0:54 .short 4 # DWARF version number55 .long .debug_abbrev # Offset Into Abbrev. Section56 .byte 8 # Address Size (in bytes)57 .byte 1 # Abbrev [1] 0xb:0x1f DW_TAG_compile_unit58 .short 12 # DW_AT_language59 .long .Linfo_string1 # DW_AT_name60 .long .Lline_table_start0 # DW_AT_stmt_list61.Lcu_end0:62 .section .debug_line,"",@progbits63.Lline_table_start0:64