You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
3.2 KiB
88 lines
3.2 KiB
4 months ago
|
# 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:
|