88 lines · plain
1# RUN: llvm-mc -triple x86_64-unknown-linux %s -filetype=obj -o - | \2# RUN: llvm-dwarfdump -debug-aranges - 2>&1 | \3# RUN: FileCheck %s4 5 .section .debug_aranges,"",@progbits6# CHECK: .debug_aranges contents:7 8## Case 1: Check that an empty set of ranges is supported.9 .long .L1end - .L1version # Length10# CHECK: Address Range Header: length = 0x00000014,11.L1version:12 .short 2 # Version13 .long 0x3456789a # Debug Info Offset14 .byte 4 # Address Size15 .byte 0 # Segment Selector Size16# CHECK-SAME: version = 0x0002,17# CHECK-SAME: cu_offset = 0x3456789a,18# CHECK-SAME: addr_size = 0x04,19# CHECK-SAME: seg_size = 0x0020 .space 4 # Padding21.L1tuples:22 .long 0, 0 # Termination tuple23# CHECK-NOT: [0x24.L1end:25 26## Case 2: Check that the address size of 4 is supported.27 .long .L2end - .L2version # Length28# CHECK: Address Range Header: length = 0x0000001c,29.L2version:30 .short 2 # Version31 .long 0x112233 # Debug Info Offset32 .byte 4 # Address Size33 .byte 0 # Segment Selector Size34# CHECK-SAME: version = 0x0002,35# CHECK-SAME: cu_offset = 0x00112233,36# CHECK-SAME: addr_size = 0x04,37# CHECK-SAME: seg_size = 0x0038 .space 4 # Padding39.L2tuples:40 .long 0x11223344, 0x01020304 # Address and length41# CHECK-NEXT: [0x11223344, 0x12243648)42 .long 0, 0 # Termination tuple43# CHECK-NOT: [0x44.L2end:45 46## Case 3: Check that the address size of 8 is also supported.47 .long .L3end - .L3version # Length48# CHECK: Address Range Header: length = 0x0000002c,49.L3version:50 .short 2 # Version51 .long 0x112233 # Debug Info Offset52 .byte 8 # Address Size53 .byte 0 # Segment Selector Size54# CHECK-SAME: version = 0x0002,55# CHECK-SAME: cu_offset = 0x00112233,56# CHECK-SAME: addr_size = 0x08,57# CHECK-SAME: seg_size = 0x0058 .space 4 # Padding59.L3tuples:60 .quad 0x1122334455667788 # Address61 .quad 0x0102030405060708 # Length62# CHECK-NEXT: [0x1122334455667788, 0x122436485a6c7e90)63 .quad 0, 0 # Termination tuple64# CHECK-NOT: [0x65.L3end:66 67## Case 4: Check that 64-bit DWARF format is supported.68 .long 0xffffffff # DWARF64 mark69 .quad .L4end - .L4version # Length70# CHECK: Address Range Header: length = 0x000000000000001c,71# CHECK-SAME: format = DWARF64,72.L4version:73 .short 2 # Version74 .quad 0x123456789abc # Debug Info Offset75 .byte 4 # Address Size76 .byte 0 # Segment Selector Size77# CHECK-SAME: version = 0x0002,78# CHECK-SAME: cu_offset = 0x0000123456789abc,79# CHECK-SAME: addr_size = 0x04,80# CHECK-SAME: seg_size = 0x0081 # No padding82.L4tuples:83 .long 0, 1 # Address and length84# CHECK-NEXT: [0x00000000, 0x00000001)85 .long 0, 0 # Termination tuple86# CHECK-NOT: [0x87.L4end:88