1## This test checks that llvm-dwarfdump can dump a .debug_macro section 2## with the GNU extension format. 3 4# RUN: llvm-mc -triple x86_64-unknown-linux -filetype=obj %s -o -| \ 5# RUN: llvm-dwarfdump -debug-macro - | FileCheck -strict-whitespace -match-full-lines %s 6 7# CHECK:.debug_macro contents: 8# CHECK-NEXT:0x00000000: 9# CHECK-NEXT:macro header: version = 0x0004, flags = 0x02, format = DWARF32, debug_line_offset = 0x00000000 10# CHECK-NEXT:DW_MACRO_GNU_start_file - lineno: 0 filenum: 0 11# CHECK-NEXT: DW_MACRO_GNU_start_file - lineno: 1 filenum: 6 12# CHECK-NEXT: DW_MACRO_GNU_define_indirect - lineno: 1 macro: FOO 5 13# CHECK-NEXT: DW_MACRO_GNU_end_file 14# CHECK-NEXT: DW_MACRO_GNU_undef_indirect - lineno: 8 macro: WORLD1 15# CHECK-NEXT: DW_MACRO_GNU_transparent_include - import offset: 0x[[OFFSET:[0-9]+]] 16# CHECK-NEXT:DW_MACRO_GNU_end_file 17 18# CHECK:0x[[OFFSET]]: 19# CHECK-NEXT:macro header: version = 0x0004, flags = 0x00, format = DWARF32 20# CHECK-NEXT:DW_MACRO_GNU_define_indirect - lineno: 0 macro: WORLD 2 21 22 .section .debug_macro,"",@progbits 23.Lcu_macro_begin0: 24 .short 4 # Macro information version 25 .byte 2 # Flags: 32 bit, debug_line_offset present 26 .long 0 # debug_line_offset 27 .byte 3 # DW_MACRO_GNU_start_file 28 .byte 0 # Line Number 29 .byte 0 # File Number 30 .byte 3 # DW_MACRO_GNU_start_file 31 .byte 1 # Line Number 32 .byte 6 # File Number 33 .byte 5 # DW_MACRO_GNU_define_indirect 34 .byte 1 # Line Number 35 .long .Linfo_string0 # Macro String 36 .byte 4 # DW_MACRO_GNU_end_file 37 .byte 6 # DW_MACRO_GNU_undef_indirect 38 .byte 8 # Line Number 39 .long .Linfo_string1 # Macro String 40 .byte 7 # DW_MACRO_GNU_transparent_include 41 .long .Lmacro1 # Macro Unit Offset 42 .byte 4 # DW_MACRO_GNU_end_file 43 .byte 0 # End Of Macro List Mark 44 45.Lmacro1: 46 .short 4 # Macro information version 47 .byte 0 # Flags: 32 bit 48 .byte 5 # DW_MACRO_GNU_define_indirect 49 .byte 0 # Line Number 50 .long .Linfo_string2 # Macro String 51 .byte 0 # End Of Macro List Mark 52 53 .section .debug_str,"MS",@progbits,1 54.Linfo_string0: 55 .asciz "FOO 5" 56.Linfo_string1: 57 .asciz "WORLD1" 58.Linfo_string2: 59 .asciz "WORLD 2" 60