1## Check that error handling for bad opcodes works. 2## .xdata below contains the bad opcode 0xdf in the 4th word of .xdata. 3 4// REQUIRES: aarch64-registered-target 5// RUN: llvm-mc -filetype=obj -triple aarch64-windows %s -o - \ 6// RUN: | llvm-readobj --unwind - | FileCheck %s 7 8// CHECK: Prologue [ 9// CHECK: 0xdf ; Bad opcode! 10// CHECK: 0xff ; Bad opcode! 11// CHECK: 0xd600 ; stp x19, lr, [sp, #0] 12// CHECK: 0x01 ; sub sp, #16 13// CHECK: 0xe4 ; end 14// CHECK: ] 15 16 .text 17 .globl "?func@@YAHXZ" 18 .p2align 3 19"?func@@YAHXZ": 20 sub sp,sp,#0x10 21 stp x19,lr,[sp] 22 sub sp,sp,#0x1F0 23 mov w19,w0 24 bl "?func2@@YAXXZ" 25 cmp w19,#2 26 ble .LBB0_1 27 bl "?func2@@YAHXZ" 28 add sp,sp,#0x1F0 29 ldp x19,lr,[sp] 30 add sp,sp,#0x10 31 ret 32.LBB0_1: 33 mov x0,sp 34 bl "?func3@@YAHPEAH@Z" 35 add sp,sp,#0x1F0 36 ldp x19,lr,[sp] 37 add sp,sp,#0x10 38 ret 39 40 41.section .pdata,"dr" 42 .long "?func@@YAHXZ"@IMGREL 43 .long "$unwind$func@@YAHXZ"@IMGREL 44 45 46.section .xdata,"dr" 47"$unwind$func@@YAHXZ": 48 .p2align 3 49 .long 0x10800012 50 .long 0x8 51 .long 0xe 52 .long 0x00d6ffdf 53 .long 0xe3e3e401 54 55