109 lines · plain
1# REQUIRES: ppc2 3# RUN: llvm-mc -filetype=obj -triple=powerpc64le-unknown-linux %s -o %t1.o4# RUN: llvm-mc -filetype=obj -triple=powerpc64le-unknown-linux %p/Inputs/ppc64-no-split-stack.s -o %t2.o5 6# RUN: ld.lld %t1.o %t2.o -o %t --defsym __morestack=0x10010000 -split-stack-adjust-size 327687# RUN: llvm-objdump -d %t | FileCheck %s8# RUN: ld.lld %t1.o %t2.o -o %t --defsym __morestack=0x10010000 -split-stack-adjust-size 40969# RUN: llvm-objdump -d %t | FileCheck %s --check-prefix=SMALL10# RUN: ld.lld %t1.o %t2.o -o %t --defsym __morestack=0x10010000 -split-stack-adjust-size 011# RUN: llvm-objdump -d %t | FileCheck %s --check-prefix=ZERO12# RUN: not ld.lld %t1.o %t2.o -o /dev/null -split-stack-adjust-size -1 2>&1 | FileCheck %s -check-prefix=ERR13# ERR: error: --split-stack-adjust-size: size must be >= 014 15# RUN: llvm-mc -filetype=obj -triple=powerpc64-unknown-linux %s -o %t1.o16# RUN: llvm-mc -filetype=obj -triple=powerpc64-unknown-linux %p/Inputs/ppc64-no-split-stack.s -o %t2.o17 18# RUN: ld.lld %t1.o %t2.o -o %t --defsym __morestack=0x10010000 -split-stack-adjust-size 3276819# RUN: llvm-objdump -d %t | FileCheck %s20# RUN: ld.lld %t1.o %t2.o -o %t --defsym __morestack=0x10010000 -split-stack-adjust-size 409621# RUN: llvm-objdump -d %t | FileCheck %s --check-prefix=SMALL22# RUN: ld.lld %t1.o %t2.o -o %t --defsym __morestack=0x10010000 -split-stack-adjust-size 023# RUN: llvm-objdump -d %t | FileCheck %s --check-prefix=ZERO24 .p2align 225 .global caller26 .type caller, @function27caller:28.Lcaller_gep:29 addis 2, 12, .TOC.-.Lcaller_gep@ha30 addi 2, 2, .TOC.-.Lcaller_gep@l31 .localentry caller, .-caller32 ld 0, -0x7040(13)33 addi 12, 1, -3234 nop35 cmpld 7, 12, 036 blt- 7, .Lcaller_alloc_more37.Lcaller_body:38 mflr 039 std 0, 16(1)40 stdu 1, -32(1)41 bl nss_callee42 addi 1, 1, 3243 ld 0, 16(1)44 mtlr 045 blr46.Lcaller_alloc_more:47 mflr 048 std 0, 16(1)49 bl __morestack50 ld 0, 16(1)51 mtlr 052 blr53 b .Lcaller_body54 .size caller, .-caller55 56# CHECK-LABEL: caller57# CHECK: ld 0, -28736(13)58# CHECK-NEXT: addis 12, 1, -159# CHECK-NEXT: addi 12, 12, 3273660# CHECK-NEXT: cmpld 7, 12, 061# CHECK-NEXT: bt- 28, 0x1001020462 63# SMALL-LABEL: caller64# SMALL: ld 0, -28736(13)65# SMALL-NEXT: addi 12, 1, -412866# SMALL-NEXT: nop67# SMALL-NEXT: cmpld 7, 12, 068# SMALL-NEXT: bt- 28, 0x1001020469 70# ZERO-LABEL: caller71# ZERO: ld 0, -28736(13)72# ZERO-NEXT: addi 12, 1, -3273# ZERO-NEXT: nop74# ZERO-NEXT: cmpld 7, 12, 075# ZERO-NEXT: bt- 28, 0x1001020476 .p2align 277 .global main78 .type main, @function79main:80.Lmain_gep:81 addis 2,12,.TOC.-.Lmain_gep@ha82 addi 2,2,.TOC.-.Lmain_gep@l83 .localentry main,.-main84 ld 0,-0x7040(13)85 addi 12,1,-3286 nop87 cmpld 7,12,088 blt- 7, .Lmain_morestack89.Lmain_body:90 mflr 091 std 0, 16(1)92 stdu 1, -32(1)93 bl caller94 addi 1, 1, 3295 ld 0, 16(1)96 mtlr 097 blr98.Lmain_morestack:99 mflr 0100 std 0, 16(1)101 bl __morestack102 ld 0, 16(1)103 mtlr 0104 blr105 b .Lmain_body106 .size main,.-main107 108 .section .note.GNU-split-stack,"",@progbits109