1*8a64d80aSDavid Spickett# This tests handling of debug info with fully relative paths, such as those 2*8a64d80aSDavid Spickett# produced by "clang -fdebug-compilation-dir <something-relative>". This is one 3*8a64d80aSDavid Spickett# of the techniques used to produce "relocatable" debug info. 4*8a64d80aSDavid Spickett 5*8a64d80aSDavid Spickett# RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux -o %t %s 6*8a64d80aSDavid Spickett# RUN: %lldb %t -o "image dump line-table t.c" | FileCheck %s 7*8a64d80aSDavid Spickett 8*8a64d80aSDavid Spickett# CHECK: 0x0000000000000000: {{q[\\/]w[\\/]e[\\/]r[\\/]t}}.c:1 9*8a64d80aSDavid Spickett 10*8a64d80aSDavid Spickett .text 11*8a64d80aSDavid Spickettmain: 12*8a64d80aSDavid Spickett .file 1 "w/e/r" "t.c" 13*8a64d80aSDavid Spickett .loc 1 1 0 # w/e/r/t.c:1:0 14*8a64d80aSDavid Spickett retq 15*8a64d80aSDavid Spickett 16*8a64d80aSDavid Spickett .section .debug_abbrev,"",@progbits 17*8a64d80aSDavid Spickett .byte 1 # Abbreviation Code 18*8a64d80aSDavid Spickett .byte 17 # DW_TAG_compile_unit 19*8a64d80aSDavid Spickett .byte 0 # DW_CHILDREN_no 20*8a64d80aSDavid Spickett .byte 37 # DW_AT_producer 21*8a64d80aSDavid Spickett .byte 8 # DW_FORM_string 22*8a64d80aSDavid Spickett .byte 3 # DW_AT_name 23*8a64d80aSDavid Spickett .byte 8 # DW_FORM_string 24*8a64d80aSDavid Spickett .byte 16 # DW_AT_stmt_list 25*8a64d80aSDavid Spickett .byte 23 # DW_FORM_sec_offset 26*8a64d80aSDavid Spickett .byte 27 # DW_AT_comp_dir 27*8a64d80aSDavid Spickett .byte 8 # DW_FORM_string 28*8a64d80aSDavid Spickett .byte 0 # EOM(1) 29*8a64d80aSDavid Spickett .byte 0 # EOM(2) 30*8a64d80aSDavid Spickett .byte 0 # EOM(3) 31*8a64d80aSDavid Spickett 32*8a64d80aSDavid Spickett .section .debug_info,"",@progbits 33*8a64d80aSDavid Spickett.Lcu_begin0: 34*8a64d80aSDavid Spickett .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 35*8a64d80aSDavid Spickett.Ldebug_info_start0: 36*8a64d80aSDavid Spickett .short 4 # DWARF version number 37*8a64d80aSDavid Spickett .long .debug_abbrev # Offset Into Abbrev. Section 38*8a64d80aSDavid Spickett .byte 8 # Address Size (in bytes) 39*8a64d80aSDavid Spickett .byte 1 # Abbrev [1] 0xb:0x40 DW_TAG_compile_unit 40*8a64d80aSDavid Spickett .asciz "Hand-written DWARF" # DW_AT_producer 41*8a64d80aSDavid Spickett .asciz "w/e/r/t.c" # DW_AT_name 42*8a64d80aSDavid Spickett .long .Lline_table_start0 # DW_AT_stmt_list 43*8a64d80aSDavid Spickett .asciz "q" # DW_AT_comp_dir 44*8a64d80aSDavid Spickett.Ldebug_info_end0: 45*8a64d80aSDavid Spickett 46*8a64d80aSDavid Spickett .section .debug_line,"",@progbits 47*8a64d80aSDavid Spickett.Lline_table_start0: 48