• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Dump the complete .debug_line.dwo, then just one part.
2#
3# RUN: llvm-mc -triple x86_64-unknown-unknown -filetype=obj %s -o %t.o
4# RUN: llvm-dwarfdump -debug-line %t.o | FileCheck %s --check-prefixes=PART1,PART2
5# RUN: llvm-dwarfdump -debug-line=0x32 %t.o | FileCheck %s --check-prefix=PART2
6
7        .section .debug_line.dwo,"",@progbits
8LH_1_start:
9        .long   LH_1_end-LH_1_version   # Length of Unit
10LH_1_version:
11        .short  4               # DWARF version number
12        .long   LH_1_header_end-LH_1_params     # Length of Prologue
13LH_1_params:
14        .byte   1               # Minimum Instruction Length
15        .byte   1               # Maximum Operations per Instruction
16        .byte   1               # Default is_stmt
17        .byte   -5              # Line Base
18        .byte   14              # Line Range
19        .byte   13              # Opcode Base
20        .byte   0               # Standard Opcode Lengths
21        .byte   1
22        .byte   1
23        .byte   1
24        .byte   1
25        .byte   0
26        .byte   0
27        .byte   0
28        .byte   1
29        .byte   0
30        .byte   0
31        .byte   1
32        # Directory table
33        .asciz  "Directory1"
34        .byte   0
35        # File table
36        .asciz  "File1"         # File name
37        .byte   1               # Directory index
38        .byte   0x41            # Timestamp
39        .byte   0x42            # File Size
40        .byte   0               # End of list
41LH_1_header_end:
42        # Line number program, which is empty.
43LH_1_end:
44
45# PART1:      Line table prologue:
46# PART1-NEXT: total_length: 0x0000002e
47# PART1-NEXT: version: 4
48# PART1-NEXT: prologue_length: 0x00000028
49# PART1:      include_directories[  1] = "Directory1"
50# PART1:      file_names[  1]
51# PART1:      name: "File1"
52
53# Second line table.
54LH_2_start:
55        .long   LH_2_end-LH_2_version   # Length of Unit
56LH_2_version:
57        .short  4               # DWARF version number
58        .long   LH_2_header_end-LH_2_params     # Length of Prologue
59LH_2_params:
60        .byte   1               # Minimum Instruction Length
61        .byte   1               # Maximum Operations per Instruction
62        .byte   1               # Default is_stmt
63        .byte   -5              # Line Base
64        .byte   14              # Line Range
65        .byte   13              # Opcode Base
66        .byte   0               # Standard Opcode Lengths
67        .byte   1
68        .byte   1
69        .byte   1
70        .byte   1
71        .byte   0
72        .byte   0
73        .byte   0
74        .byte   1
75        .byte   0
76        .byte   0
77        .byte   1
78        # Directory table
79        .asciz  "Dir2"
80        .byte   0
81        # File table
82        .asciz  "File2"         # File name
83        .byte   1               # Directory index
84        .byte   0x14            # Timestamp
85        .byte   0x24            # File Size
86        .byte   0               # End of list
87LH_2_header_end:
88        # Line number program, which is empty.
89LH_2_end:
90
91# PART2:      Line table prologue:
92# PART2-NEXT: total_length: 0x00000028
93# PART2-NEXT: version: 4
94# PART2-NEXT: prologue_length: 0x00000022
95# PART2-NOT:  prologue:
96# PART2:      include_directories[  1] = "Dir2"
97# PART2:      file_names[  1]
98# PART2:      name: "File2"
99# PART2-NOT:  prologue:
100