[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / DebugInfo / X86 / dwarfdump-debug-loclists.test
blob30f628eb991091b5125b72f633ad43c29ed03174
1 # RUN: llvm-mc %s -filetype obj -triple x86_64-pc-linux -o %t.o
2 # RUN: llvm-dwarfdump -v %t.o | FileCheck %s
4 # CHECK:      .debug_info
5 # CHECK:       DW_AT_name{{.*}}"stub"
6 # CHECK:       DW_AT_location [DW_FORM_sec_offset]   (0x0000000c
7 # CHECK-NEXT:    [0x0000000000000010, 0x0000000000000020): DW_OP_breg5 RDI+0
8 # CHECK-NEXT:    [0x0000000000000530, 0x0000000000000540): DW_OP_breg6 RBP-8, DW_OP_deref
9 # CHECK-NEXT:    [0x0000000000000700, 0x0000000000000710): DW_OP_breg5 RDI+0
11 # CHECK:      .debug_loclists contents:
12 # CHECK-NEXT: 0x00000000: locations list header: length = 0x0000002c, format = DWARF32, version = 0x0005, addr_size = 0x08, seg_size = 0x00, offset_entry_count = 0x00000000
13 # CHECK-NEXT: 0x0000000c:
14 # CHECK-NEXT:   DW_LLE_offset_pair  (0x0000000000000000, 0x0000000000000010): DW_OP_breg5 RDI+0
15 # CHECK-NEXT:   DW_LLE_base_address (0x0000000000000500)
16 # CHECK-NEXT:   DW_LLE_offset_pair  (0x0000000000000030, 0x0000000000000040)
17 # CHECK-NEXT:                   => [0x0000000000000530, 0x0000000000000540): DW_OP_breg6 RBP-8, DW_OP_deref
18 # CHECK-NEXT:   DW_LLE_start_length (0x0000000000000700, 0x0000000000000010)
19 # CHECK-NEXT:                   => [0x0000000000000700, 0x0000000000000710): DW_OP_breg5 RDI+0
20 # CHECK-NEXT:   DW_LLE_end_of_list  ()
22 .section  .debug_str,"MS",@progbits,1
23   .asciz  "stub"
25 .section  .debug_str_offsets,"",@progbits
26   .long  68
27   .short  5
28   .short  0
29 .Lstr_offsets_base0:
30   .zero 64
32 .section  .debug_loclists,"",@progbits
33   .long  .Ldebug_loclist_table_end0-.Ldebug_loclist_table_start0
34 .Ldebug_loclist_table_start0:
35  .short 5                        # Version.
36  .byte 8                         # Address size.
37  .byte 0                         # Segmen selector size.
38  .long 0                         # Offset entry count.
39 .Lloclists_table_base0:
40 .Ldebug_loc0:
41   .byte  4                       # DW_LLE_offset_pair
42   .uleb128 0x0                   #   starting offset
43   .uleb128 0x10                  #   ending offset
44   .byte  2                       # Loc expr size
45   .byte  117                     # DW_OP_breg5
46   .byte  0                       # 0
47   
48   .byte  6                       # DW_LLE_base_address
49   .quad  0x500                   # Some address
50   
51   .byte  4                       # DW_LLE_offset_pair
52   .uleb128 0x30                  #   starting offset
53   .uleb128 0x40                  #   ending offset
54   .byte  3                       # Loc expr size
55   .byte  118                     # DW_OP_breg6
56   .byte  120                     # -8
57   .byte  6                       # DW_OP_deref
59   .byte  8                       # DW_LLE_start_length
60   .quad  0x700                   # Some address
61   .uleb128 0x10                  #   length
62   .byte  2                       # Loc expr size
63   .byte  117                     # DW_OP_breg5
64   .byte  0                       # 0
65   
66   .byte  0                       # DW_LLE_end_of_list
68 .Ldebug_loclist_table_end0:
70 .section  .debug_abbrev,"",@progbits
71   .byte  1                       # Abbreviation Code
72   .byte  17                      # DW_TAG_compile_unit
73   .byte  1                       # DW_CHILDREN_yes
74   .byte  37                      # DW_AT_producer
75   .byte  37                      # DW_FORM_strx1
76   .byte  19                      # DW_AT_language
77   .byte  5                       # DW_FORM_data2
78   .byte  3                       # DW_AT_name
79   .byte  37                      # DW_FORM_strx1
80   .byte  114                     # DW_AT_str_offsets_base
81   .byte  23                      # DW_FORM_sec_offset
82   .byte  16                      # DW_AT_stmt_list
83   .byte  23                      # DW_FORM_sec_offset
84   .byte  27                      # DW_AT_comp_dir
85   .byte  37                      # DW_FORM_strx1
86   .byte  17                      # DW_AT_low_pc
87   .byte  1                       # DW_FORM_addr
88   .byte  18                      # DW_AT_high_pc
89   .byte  6                       # DW_FORM_data4
90   .ascii  "\214\001"             # DW_AT_loclists_base
91   .byte  23                      # DW_FORM_sec_offset
92   .byte  0                       # EOM(1)
93   .byte  0                       # EOM(2)
94   .byte  2                       # Abbreviation Code
95   .byte  46                      # DW_TAG_subprogram
96   .byte  1                       # DW_CHILDREN_yes
97   .byte  17                      # DW_AT_low_pc
98   .byte  1                       # DW_FORM_addr
99   .byte  18                      # DW_AT_high_pc
100   .byte  6                       # DW_FORM_data4
101   .byte  64                      # DW_AT_frame_base
102   .byte  24                      # DW_FORM_exprloc
103   .byte  110                     # DW_AT_linkage_name
104   .byte  37                      # DW_FORM_strx1
105   .byte  3                       # DW_AT_name
106   .byte  37                      # DW_FORM_strx1
107   .byte  58                      # DW_AT_decl_file
108   .byte  11                      # DW_FORM_data1
109   .byte  59                      # DW_AT_decl_line
110   .byte  11                      # DW_FORM_data1
111   .byte  63                      # DW_AT_external
112   .byte  25                      # DW_FORM_flag_present
113   .byte  0                       # EOM(1)
114   .byte  0                       # EOM(2)
115   .byte  3                       # Abbreviation Code
116   .byte  52                      # DW_TAG_variable
117   .byte  0                       # DW_CHILDREN_no
118   .byte  2                       # DW_AT_location
119   .byte  23                      # DW_FORM_sec_offset
120   .byte  3                       # DW_AT_name
121   .byte  37                      # DW_FORM_strx1
122   .byte  58                      # DW_AT_decl_file
123   .byte  11                      # DW_FORM_data1
124   .byte  59                      # DW_AT_decl_line
125   .byte  11                      # DW_FORM_data1
126   .byte  73                      # DW_AT_type
127   .byte  19                      # DW_FORM_ref4
128   .byte  0                       # EOM(1)
129   .byte  0                       # EOM(2)
130   .byte  0                       # EOM(3)
132 .section  .debug_info,"",@progbits
133 .Lcu_begin0:
134   .long  70                      # Length of Unit
135   .short  5                      # DWARF version number
136   .byte  1                       # DWARF Unit Type
137   .byte  8                       # Address Size (in bytes)
138   .long  .debug_abbrev           # Offset Into Abbrev. Section
139   .byte  1                       # Abbrev [1] 0xc:0xef DW_TAG_compile_unit
140   .byte  0                       # DW_AT_producer
141   .short  4                      # DW_AT_language
142   .byte  1                       # DW_AT_name
143   .long  .Lstr_offsets_base0     # DW_AT_str_offsets_base
144   .long  .Lline_table_start0     # DW_AT_stmt_list
145   .byte  2                       # DW_AT_comp_dir
146   .quad  0x10                    # DW_AT_low_pc
147   .long  0                       # DW_AT_high_pc
148   .long  .Lloclists_table_base0  # DW_AT_loclists_base
149   .byte  2                       # Abbrev [2] 0x2a:0x20 DW_TAG_subprogram
150   .quad  0                       # DW_AT_low_pc
151   .long  0                       # DW_AT_high_pc
152   .byte  1                       # DW_AT_frame_base
153   .byte  86
154   .byte  11                      # DW_AT_linkage_name
155   .byte  12                      # DW_AT_name
156   .byte  1                       # DW_AT_decl_file
157   .byte  6                       # DW_AT_decl_line
158                                  # DW_AT_external
159   .byte 3                        # Abbrev [3] 0x40:0xb DW_TAG_variable
160   .long .Ldebug_loc0             # DW_AT_location
161   .byte 7                        # DW_AT_name
162   .byte 1                        # DW_AT_decl_file
163   .byte 6                        # DW_AT_decl_line
164   .long 76                       # DW_AT_type
165   .byte 0                        # End Of Children Mark
166   .byte 0                        # End Of Children Mark
167   .byte  0                       # End Of Children Mark
169 .section .debug_line,"",@progbits
170 .Lline_table_start0: