GNU Linux-libre 4.14.257-gnu1
[releases.git] / arch / alpha / lib / dbg_stackcheck.S
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * arch/alpha/lib/dbg_stackcheck.S
4  * Contributed by Richard Henderson (rth@tamu.edu)
5  *
6  * Verify that we have not overflowed the stack.  Oops if we have.
7  */
8
9 #include <asm/asm-offsets.h>
10
11         .text
12         .set noat
13
14         .align 3
15         .globl _mcount
16         .ent _mcount
17 _mcount:
18         .frame $30, 0, $28, 0
19         .prologue 0
20
21         lda     $0, TASK_SIZE($8)
22         cmpult  $30, $0, $0
23         bne     $0, 1f
24         ret     ($28)
25 1:      stq     $31, -8($31)    # oops me, damn it.
26         br      1b
27
28         .end _mcount