xref: /llvm-project/llvm/test/tools/llvm-dwarfdump/X86/debug_loc-OP_addr.s (revision 0908093977b2b80d00baa12f0b2f1424dde096fb)
1# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj | llvm-dwarfdump - | FileCheck %s
2#
3# CHECK: DW_TAG_variable
4# CHECK-NEXT: DW_AT_name ("a")
5# CHECK-NEXT: DW_AT_location
6# CHECK-NEXT: (0x0000000000000000,  0x0000000000000001): DW_OP_addr 0xdeadbeefbaadf00d
7
8	.section	.debug_str,"MS",@progbits,1
9.Linfo_producer:
10	.asciz	"hand-written DWARF"
11.Lname_a:
12	.asciz	"a"
13
14	.section	.debug_loc,"",@progbits
15.Ldebug_loc0:
16	.quad	0
17	.quad	1
18	.short	.Lloc0_end-.Lloc0_start # Loc expr size
19.Lloc0_start:
20	.byte	3                       # DW_OP_addr
21        .quad 0xdeadbeefbaadf00d
22.Lloc0_end:
23	.quad	0
24	.quad	0
25
26	.section	.debug_abbrev,"",@progbits
27	.byte	1                       # Abbreviation Code
28	.byte	17                      # DW_TAG_compile_unit
29	.byte	1                       # DW_CHILDREN_yes
30	.byte	37                      # DW_AT_producer
31	.byte	14                      # DW_FORM_strp
32	.byte	0                       # EOM(1)
33	.byte	0                       # EOM(2)
34	.byte	5                       # Abbreviation Code
35	.byte	52                      # DW_TAG_variable
36	.byte	0                       # DW_CHILDREN_no
37	.byte	3                       # DW_AT_name
38	.byte	14                      # DW_FORM_strp
39	.byte	2                       # DW_AT_location
40	.byte	23                      # DW_FORM_sec_offset
41	.byte	0                       # EOM(1)
42	.byte	0                       # EOM(2)
43	.byte	0                       # EOM(3)
44
45	.section	.debug_info,"",@progbits
46.Lcu_begin0:
47	.long	.Lcu_end0-.Lcu_start0   # Length of Unit
48.Lcu_start0:
49	.short	4                       # DWARF version number
50	.long	.debug_abbrev           # Offset Into Abbrev. Section
51	.byte	8                       # Address Size (in bytes)
52	.byte	1                       # Abbrev [1] DW_TAG_compile_unit
53	.long	.Linfo_producer         # DW_AT_producer
54	.byte	5                       # Abbrev [5] DW_TAG_variable
55	.long	.Lname_a                # DW_AT_name
56	.long	.Ldebug_loc0            # DW_AT_location
57	.byte	0                       # End Of Children Mark
58.Lcu_end0:
59