xref: /llvm-project/llvm/test/tools/llvm-dwarfdump/X86/debug_loc-OP_addr.s (revision 0908093977b2b80d00baa12f0b2f1424dde096fb)
154ca2d68SPavel Labath# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj | llvm-dwarfdump - | FileCheck %s
254ca2d68SPavel Labath#
354ca2d68SPavel Labath# CHECK: DW_TAG_variable
454ca2d68SPavel Labath# CHECK-NEXT: DW_AT_name ("a")
554ca2d68SPavel Labath# CHECK-NEXT: DW_AT_location
6*09080939SPavel Labath# CHECK-NEXT: (0x0000000000000000,  0x0000000000000001): DW_OP_addr 0xdeadbeefbaadf00d
754ca2d68SPavel Labath
854ca2d68SPavel Labath	.section	.debug_str,"MS",@progbits,1
954ca2d68SPavel Labath.Linfo_producer:
1054ca2d68SPavel Labath	.asciz	"hand-written DWARF"
1154ca2d68SPavel Labath.Lname_a:
1254ca2d68SPavel Labath	.asciz	"a"
1354ca2d68SPavel Labath
1454ca2d68SPavel Labath	.section	.debug_loc,"",@progbits
1554ca2d68SPavel Labath.Ldebug_loc0:
1654ca2d68SPavel Labath	.quad	0
1754ca2d68SPavel Labath	.quad	1
1854ca2d68SPavel Labath	.short	.Lloc0_end-.Lloc0_start # Loc expr size
1954ca2d68SPavel Labath.Lloc0_start:
2054ca2d68SPavel Labath	.byte	3                       # DW_OP_addr
2154ca2d68SPavel Labath        .quad 0xdeadbeefbaadf00d
2254ca2d68SPavel Labath.Lloc0_end:
2354ca2d68SPavel Labath	.quad	0
2454ca2d68SPavel Labath	.quad	0
2554ca2d68SPavel Labath
2654ca2d68SPavel Labath	.section	.debug_abbrev,"",@progbits
2754ca2d68SPavel Labath	.byte	1                       # Abbreviation Code
2854ca2d68SPavel Labath	.byte	17                      # DW_TAG_compile_unit
2954ca2d68SPavel Labath	.byte	1                       # DW_CHILDREN_yes
3054ca2d68SPavel Labath	.byte	37                      # DW_AT_producer
3154ca2d68SPavel Labath	.byte	14                      # DW_FORM_strp
3254ca2d68SPavel Labath	.byte	0                       # EOM(1)
3354ca2d68SPavel Labath	.byte	0                       # EOM(2)
3454ca2d68SPavel Labath	.byte	5                       # Abbreviation Code
3554ca2d68SPavel Labath	.byte	52                      # DW_TAG_variable
3654ca2d68SPavel Labath	.byte	0                       # DW_CHILDREN_no
3754ca2d68SPavel Labath	.byte	3                       # DW_AT_name
3854ca2d68SPavel Labath	.byte	14                      # DW_FORM_strp
3954ca2d68SPavel Labath	.byte	2                       # DW_AT_location
4054ca2d68SPavel Labath	.byte	23                      # DW_FORM_sec_offset
4154ca2d68SPavel Labath	.byte	0                       # EOM(1)
4254ca2d68SPavel Labath	.byte	0                       # EOM(2)
4354ca2d68SPavel Labath	.byte	0                       # EOM(3)
4454ca2d68SPavel Labath
4554ca2d68SPavel Labath	.section	.debug_info,"",@progbits
4654ca2d68SPavel Labath.Lcu_begin0:
4754ca2d68SPavel Labath	.long	.Lcu_end0-.Lcu_start0   # Length of Unit
4854ca2d68SPavel Labath.Lcu_start0:
4954ca2d68SPavel Labath	.short	4                       # DWARF version number
5054ca2d68SPavel Labath	.long	.debug_abbrev           # Offset Into Abbrev. Section
5154ca2d68SPavel Labath	.byte	8                       # Address Size (in bytes)
5254ca2d68SPavel Labath	.byte	1                       # Abbrev [1] DW_TAG_compile_unit
5354ca2d68SPavel Labath	.long	.Linfo_producer         # DW_AT_producer
5454ca2d68SPavel Labath	.byte	5                       # Abbrev [5] DW_TAG_variable
5554ca2d68SPavel Labath	.long	.Lname_a                # DW_AT_name
5654ca2d68SPavel Labath	.long	.Ldebug_loc0            # DW_AT_location
5754ca2d68SPavel Labath	.byte	0                       # End Of Children Mark
5854ca2d68SPavel Labath.Lcu_end0:
59