51 lines
1.2 KiB
ArmAsm
51 lines
1.2 KiB
ArmAsm
## Check that the sanity check for an inconsistent header works.
|
|
## The first word contains the bad value for CodeWords, 0xf, which indicates
|
|
## that we need 0x11110 << 2 = 120 bytes of space for the unwind codes.
|
|
## It follows that the .xdata section is badly formed as only 8 bytes are
|
|
## allocated for the unwind codes.
|
|
|
|
// REQUIRES: aarch64-registered-target
|
|
// RUN: llvm-mc -filetype=obj -triple aarch64-windows %s -o - \
|
|
// RUN: | not --crash llvm-readobj --unwind - 2>&1 | FileCheck %s
|
|
|
|
// CHECK: LLVM ERROR: Malformed unwind data
|
|
|
|
.text
|
|
.globl "?func@@YAHXZ"
|
|
.p2align 3
|
|
"?func@@YAHXZ":
|
|
sub sp,sp,#0x10
|
|
stp x19,lr,[sp]
|
|
sub sp,sp,#0x1F0
|
|
mov w19,w0
|
|
bl "?func2@@YAXXZ"
|
|
cmp w19,#2
|
|
ble .LBB0_1
|
|
bl "?func2@@YAHXZ"
|
|
add sp,sp,#0x1F0
|
|
ldp x19,lr,[sp]
|
|
add sp,sp,#0x10
|
|
ret
|
|
.LBB0_1:
|
|
mov x0,sp
|
|
bl "?func3@@YAHPEAH@Z"
|
|
add sp,sp,#0x1F0
|
|
ldp x19,lr,[sp]
|
|
add sp,sp,#0x10
|
|
ret
|
|
|
|
.section .pdata,"dr"
|
|
.long "?func@@YAHXZ"@IMGREL
|
|
.long "$unwind$func@@YAHXZ"@IMGREL
|
|
|
|
|
|
.section .xdata,"dr"
|
|
"$unwind$func@@YAHXZ":
|
|
.p2align 3
|
|
.long 0xf0800012
|
|
.long 0x8
|
|
.long 0xe
|
|
.long 0x100d61f
|
|
.long 0xe3e3e3e4
|
|
|