xref: /llvm-project/lldb/test/Shell/SymbolFile/DWARF/x86/debug_aranges-empty-section.s (revision 8a64d80a959bf2844df33f9112e456f33de7b468)
1# Test that an empty .debug_aranges section doesn't confuse (or crash) us.
2
3# RUN: llvm-mc %s -triple x86_64-pc-linux -filetype=obj >%t
4# RUN: %lldb %t -o "breakpoint set -n f" -b | FileCheck %s
5
6# CHECK: Breakpoint 1: where = {{.*}}`f, address = 0x0000000000000047
7
8	.text
9	.globl	f                       # -- Begin function f
10	.type	f,@function
11        .rept 0x47
12        nop
13        .endr
14f:                                      # @f
15.Lfunc_begin0:
16	retq
17.Lfunc_end0:
18	.size	f, .Lfunc_end0-f
19                                        # -- End function
20	.section	.debug_str,"MS",@progbits,1
21.Linfo_string3:
22	.asciz	"f"                     # string offset=83
23	.section	.debug_abbrev,"",@progbits
24	.byte	1                       # Abbreviation Code
25	.byte	17                      # DW_TAG_compile_unit
26	.byte	1                       # DW_CHILDREN_yes
27	.byte	17                      # DW_AT_low_pc
28	.byte	1                       # DW_FORM_addr
29	.byte	18                      # DW_AT_high_pc
30	.byte	6                       # DW_FORM_data4
31	.byte	0                       # EOM(1)
32	.byte	0                       # EOM(2)
33	.byte	2                       # Abbreviation Code
34	.byte	46                      # DW_TAG_subprogram
35	.byte	0                       # DW_CHILDREN_no
36	.byte	17                      # DW_AT_low_pc
37	.byte	1                       # DW_FORM_addr
38	.byte	18                      # DW_AT_high_pc
39	.byte	6                       # DW_FORM_data4
40	.byte	3                       # DW_AT_name
41	.byte	14                      # DW_FORM_strp
42	.byte	0                       # EOM(1)
43	.byte	0                       # EOM(2)
44	.byte	0                       # EOM(3)
45	.section	.debug_info,"",@progbits
46.Lcu_begin0:
47	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
48.Ldebug_info_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] 0xb:0x35 DW_TAG_compile_unit
53	.quad	.Lfunc_begin0           # DW_AT_low_pc
54	.long	.Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
55	.byte	2                       # Abbrev [2] 0x2a:0x15 DW_TAG_subprogram
56	.quad	.Lfunc_begin0           # DW_AT_low_pc
57	.long	.Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
58	.long	.Linfo_string3          # DW_AT_name
59	.byte	0                       # End Of Children Mark
60.Ldebug_info_end0:
61
62	.section	".note.GNU-stack","",@progbits
63	.section	.debug_aranges,"",@progbits
64