File: debug-macro-multi-cu-strx.s

package info (click to toggle)
llvm-toolchain-16 1%3A16.0.6-15~deb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,634,792 kB
  • sloc: cpp: 6,179,261; ansic: 1,216,205; asm: 741,319; python: 196,614; objc: 75,325; f90: 49,640; lisp: 32,396; pascal: 12,286; sh: 9,394; perl: 7,442; ml: 5,494; awk: 3,523; makefile: 2,723; javascript: 1,206; xml: 886; fortran: 581; cs: 573
file content (119 lines) | stat: -rw-r--r-- 5,654 bytes parent folder | download | duplicates (21)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
## This test checks that llvm-dwarfdump can dump debug_macro
## section containing contributions from multiple CU's represented
## using DW_MACRO_define_strx form.

# RUN: llvm-mc -triple x86_64-unknown-linux -filetype=obj %s -o -| \
# RUN:   llvm-dwarfdump -debug-macro - | FileCheck -strict-whitespace -match-full-lines %s

#      CHECK:.debug_macro contents:
# CHECK-NEXT:0x00000000:
# CHECK-NEXT:macro header: version = 0x0005, flags = 0x02, format = DWARF32, debug_line_offset = 0x00000000
# CHECK-NEXT:DW_MACRO_start_file - lineno: 0 filenum: 0
# CHECK-NEXT:  DW_MACRO_define_strx - lineno: 1 macro: DWARF_VERSION 5
# CHECK-NEXT:  DW_MACRO_define_strx - lineno: 2 macro: COMPILE_UNIT 1
# CHECK-NEXT:  DW_MACRO_undef_strx - lineno: 3 macro: COMPILE_UNIT
# CHECK-NEXT:DW_MACRO_end_file

#      CHECK:0x00000015:
# CHECK-NEXT:macro header: version = 0x0005, flags = 0x02, format = DWARF32, debug_line_offset = 0x00000000
# CHECK-NEXT:DW_MACRO_start_file - lineno: 1 filenum: 3
# CHECK-NEXT:  DW_MACRO_define_strx - lineno: 2 macro: COMPILE_UNIT 2
# CHECK-NEXT:  DW_MACRO_undef_strx - lineno: 3 macro: COMPILE_UNIT
# CHECK-NEXT:DW_MACRO_end_file

       .section        .debug_abbrev,"",@progbits
       .byte   1                       # Abbreviation Code
       .byte   17                      # DW_TAG_compile_unit
       .byte   0                       # DW_CHILDREN_no
       .byte   114                     # DW_AT_str_offsets_base
       .byte   23                      # DW_FORM_sec_offset
       .byte   121                     # DW_AT_macros
       .byte   23                      # DW_FORM_sec_offset
       .byte   0                       # EOM(1)
       .byte   0                       # EOM(2)
       .byte   0                       # EOM(3)

       .section        .debug_info,"",@progbits
.Lcu_begin0:
       .long   .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
.Ldebug_info_start0:
       .short  5                      # DWARF version number
       .byte   1                       # DWARF Unit Type
       .byte   8                       # Address Size (in bytes)
       .long   .debug_abbrev           # Offset Into Abbrev. Section
       .byte   1                       # Abbrev [1] 0xc:0x12 DW_TAG_compile_unit
       .long   .Lstr_offsets_base0     # DW_AT_str_offsets_base
       .long   .Lcu_macro_begin0       # DW_AT_macros
.Ldebug_info_end0:
.Lcu_begin1:
       .long   .Ldebug_info_end1-.Ldebug_info_start1 # Length of Unit
.Ldebug_info_start1:
       .short  5                      # DWARF version number
       .byte   1                       # DWARF Unit Type
       .byte   8                       # Address Size (in bytes)
       .long   .debug_abbrev           # Offset Into Abbrev. Section
       .byte   1                       # Abbrev [1] 0xc:0x12 DW_TAG_compile_unit
       .long   .Lstr_offsets_base1     # DW_AT_str_offsets_base
       .long   .Lcu_macro_begin1       # DW_AT_macros
.Ldebug_info_end1:

       .section        .debug_macro,"",@progbits
.Lcu_macro_begin0:
       .short  5                      # Macro information version
       .byte   2                       # Flags: 32 bit, debug_line_offset present
       .long   0                       # debug_line_offset
       .byte   3                       # DW_MACRO_start_file
       .byte   0                       # Line Number
       .byte   0                       # File Number
       .byte   11                      # DW_MACRO_define_strx
       .byte   1                       # Line Number
       .byte   0                       # Macro String
       .byte   11                      # DW_MACRO_define_strx
       .byte   2                       # Line Number
       .byte   1                       # Macro String
       .byte   12                      # DW_MACRO_undef_strx
       .byte   3                       # Line Number
       .byte   2                       # Macro String
       .byte   4                       # DW_MACRO_end_file
       .byte   0                       # End Of Macro List Mark
.Lcu_macro_begin1:
       .short  5                      # Macro information version
       .byte   2                       # Flags: 32 bit, debug_line_offset present
       .long   0                       # debug_line_offset
       .byte   3                       # DW_MACRO_start_file
       .byte   1                       # Line Number
       .byte   3                       # File Number
       .byte   11                      # DW_MACRO_define_strx
       .byte   2                       # Line Number
       .byte   0                       # Macro String
       .byte   12                      # DW_MACRO_undef_strx
       .byte   3                       # Line Number
       .byte   1                       # Macro String
       .byte   4                       # DW_MACRO_end_file

       .section        .debug_str_offsets,"",@progbits
       .long   16                      # Unit length
       .short  5                       # Version
       .short  0                       # Padding
.Lstr_offsets_base0:
       .long   .Linfo_string0
       .long   .Linfo_string1
       .long   .Linfo_string2
       .long   12                      # Unit length
       .short  5                       # Version
       .short  0                       # Padding
.Lstr_offsets_base1:
       .long   .Linfo_string3
       .long   .Linfo_string4

       .section        .debug_str,"MS",@progbits,1
.Linfo_string0:
       .asciz  "DWARF_VERSION 5"
.Linfo_string1:
       .asciz  "COMPILE_UNIT 1"
.Linfo_string2:
       .asciz  "COMPILE_UNIT"
.Linfo_string3:
       .asciz  "COMPILE_UNIT 2"
.Linfo_string4:
       .asciz  "COMPILE_UNIT"