win-i386-line-table.s 2.41 KB
# Test that lldb can read a line table for an architecture with a different
# address size than the one that of the host.

# REQUIRES: lld, x86

# RUN: llvm-mc -triple i686-windows-gnu %s -filetype=obj > %t.o
# RUN: lld-link %t.o -out:%t.exe -debug:dwarf -entry:entry -subsystem:console -lldmingw
# RUN: %lldb %t.exe -o "image dump line-table -v win-i386-line-table.c" -b | FileCheck %s

# CHECK: Line table for win-i386-line-table.c in `win-i386-line-table.s.tmp.exe
# CHECK: 0x00401000: win-i386-line-table.c:2:1
# CHECK: 0x00401001: win-i386-line-table.c:2:1

        .text
        .file   "win-i386-line-table.c"
        .globl  _entry                  # -- Begin function entry
_entry:                                 # @entry
        .file   1 "" "win-i386-line-table.c"
        .loc    1 1 0                   # win-i386-line-table.c:1:0
        .cfi_sections .debug_frame
        .cfi_startproc
        .loc    1 2 1 prologue_end      # win-i386-line-table.c:2:1
        retl
        .cfi_endproc
                                        # -- End function
        .section        .debug_str,"dr"
Linfo_string1:
        .asciz  "win-i386-line-table.c"
        .section        .debug_abbrev,"dr"
Lsection_abbrev:
        .byte   1                       # Abbreviation Code
        .byte   17                      # DW_TAG_compile_unit
        .byte   1                       # DW_CHILDREN_yes
        .byte   3                       # DW_AT_name
        .byte   14                      # DW_FORM_strp
        .byte   16                      # DW_AT_stmt_list
        .byte   23                      # DW_FORM_sec_offset
        .byte   0                       # EOM(1)
        .byte   0                       # EOM(2)
        .byte   0                       # EOM(3)
        .section        .debug_info,"dr"
Lsection_info:
Lcu_begin0:
        .long   Ldebug_info_end0-Ldebug_info_start0 # Length of Unit
Ldebug_info_start0:
        .short  4                       # DWARF version number
        .secrel32       Lsection_abbrev # Offset Into Abbrev. Section
        .byte   4                       # Address Size (in bytes)
        .byte   1                       # Abbrev [1] 0xb:0x2d DW_TAG_compile_unit
        .secrel32       Linfo_string1   # DW_AT_name
        .secrel32       Lline_table_start0 # DW_AT_stmt_list
        .byte   0                       # End Of Children Mark
Ldebug_info_end0:
        .section        .debug_line,"dr"
Lline_table_start0: