| 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 | ||||