# RUN: llvm-mc -triple x86_64-unknown-linux %s -filetype=obj -o - | \ # RUN: llvm-dwarfdump -debug-aranges - 2>&1 | \ # RUN: FileCheck %s .section .debug_aranges,"",@progbits # CHECK: .debug_aranges contents: ## Case 1: Check that an empty set of ranges is supported. .long .L1end - .L1version # Length # CHECK: Address Range Header: length = 0x00000014, .L1version: .short 2 # Version .long 0x3456789a # Debug Info Offset .byte 4 # Address Size .byte 0 # Segment Selector Size # CHECK-SAME: version = 0x0002, # CHECK-SAME: cu_offset = 0x3456789a, # CHECK-SAME: addr_size = 0x04, # CHECK-SAME: seg_size = 0x00 .space 4 # Padding .L1tuples: .long 0, 0 # Termination tuple # CHECK-NOT: [0x .L1end: ## Case 2: Check that the address size of 4 is supported. .long .L2end - .L2version # Length # CHECK: Address Range Header: length = 0x0000001c, .L2version: .short 2 # Version .long 0x112233 # Debug Info Offset .byte 4 # Address Size .byte 0 # Segment Selector Size # CHECK-SAME: version = 0x0002, # CHECK-SAME: cu_offset = 0x00112233, # CHECK-SAME: addr_size = 0x04, # CHECK-SAME: seg_size = 0x00 .space 4 # Padding .L2tuples: .long 0x11223344, 0x01020304 # Address and length # CHECK-NEXT: [0x11223344, 0x12243648) .long 0, 0 # Termination tuple # CHECK-NOT: [0x .L2end: ## Case 3: Check that the address size of 8 is also supported. .long .L3end - .L3version # Length # CHECK: Address Range Header: length = 0x0000002c, .L3version: .short 2 # Version .long 0x112233 # Debug Info Offset .byte 8 # Address Size .byte 0 # Segment Selector Size # CHECK-SAME: version = 0x0002, # CHECK-SAME: cu_offset = 0x00112233, # CHECK-SAME: addr_size = 0x08, # CHECK-SAME: seg_size = 0x00 .space 4 # Padding .L3tuples: .quad 0x1122334455667788 # Address .quad 0x0102030405060708 # Length # CHECK-NEXT: [0x1122334455667788, 0x122436485a6c7e90) .quad 0, 0 # Termination tuple # CHECK-NOT: [0x .L3end: ## Case 4: Check that 64-bit DWARF format is supported. .long 0xffffffff # DWARF64 mark .quad .L4end - .L4version # Length # CHECK: Address Range Header: length = 0x000000000000001c, # CHECK-SAME: format = DWARF64, .L4version: .short 2 # Version .quad 0x123456789abc # Debug Info Offset .byte 4 # Address Size .byte 0 # Segment Selector Size # CHECK-SAME: version = 0x0002, # CHECK-SAME: cu_offset = 0x0000123456789abc, # CHECK-SAME: addr_size = 0x04, # CHECK-SAME: seg_size = 0x00 # No padding .L4tuples: .long 0, 1 # Address and length # CHECK-NEXT: [0x00000000, 0x00000001) .long 0, 0 # Termination tuple # CHECK-NOT: [0x .L4end: