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