]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/ELF/x86-64-split-stack-prologue-adjust-fail.s
Vendor import of lld trunk r338150:
[FreeBSD/FreeBSD.git] / test / ELF / x86-64-split-stack-prologue-adjust-fail.s
1 # REQUIRES: x86
2 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1.o
3 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/x86-64-split-stack-main.s -o %t2.o
4
5 # RUN: not ld.lld --defsym __morestack=0x100 %t1.o %t2.o -o %t 2>&1 | FileCheck %s
6
7 # An unknown prologue gives a match failure
8 # CHECK: unable to adjust the enclosing function's
9
10 # RUN: not ld.lld -r --defsym __morestack=0x100 %t1.o %t2.o -o %t 2>&1 | FileCheck %s -check-prefix=RELOCATABLE
11 # RELOCATABLE: Cannot mix split-stack and non-split-stack in a relocatable link
12
13         .text
14
15         .global unknown_prologue
16         .type   unknown_prologue,@function
17 unknown_prologue:
18         push    %rbp
19         mov     %rsp,%rbp
20         cmp     %fs:0x70,%rsp
21         jae     1f
22         callq   __morestack
23         retq
24 1:
25         callq   non_split
26         leaveq
27         retq
28
29         .size   unknown_prologue,. - unknown_prologue
30
31         .section        .note.GNU-split-stack,"",@progbits