Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
2 | * arch/alpha/lib/stackcheck.S | ||||
3 | * Contributed by Richard Henderson (rth@tamu.edu) | ||||
4 | * | ||||
5 | * Verify that we have not overflowed the stack. Oops if we have. | ||||
6 | */ | ||||
7 | |||||
8 | #include <asm/asm_offsets.h> | ||||
9 | |||||
10 | .text | ||||
11 | .set noat | ||||
12 | |||||
13 | .align 3 | ||||
14 | .globl _mcount | ||||
15 | .ent _mcount | ||||
16 | _mcount: | ||||
17 | .frame $30, 0, $28, 0 | ||||
18 | .prologue 0 | ||||
19 | |||||
20 | lda $0, TASK_SIZE($8) | ||||
21 | cmpult $30, $0, $0 | ||||
22 | bne $0, 1f | ||||
23 | ret ($28) | ||||
24 | 1: stq $31, -8($31) # oops me, damn it. | ||||
25 | br 1b | ||||
26 | |||||
27 | .end _mcount |