summaryrefslogtreecommitdiff
path: root/arch/alpha/lib/dbg_stackcheck.S
blob: b3b6fc94f7f321439f60ba0bcb853eb0af9636a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * arch/alpha/lib/dbg_stackcheck.S
 * Contributed by Richard Henderson (rth@tamu.edu)
 *
 * Verify that we have not overflowed the stack.  Oops if we have.
 */

#include <asm/asm-offsets.h>

	.text
	.set noat

	.align 3
	.globl _mcount
	.ent _mcount
_mcount:
	.frame $30, 0, $28, 0
	.prologue 0

	lda	$0, TASK_SIZE($8)
	cmpult	$30, $0, $0
	bne	$0, 1f
	ret	($28)
1:	stq	$31, -8($31)	# oops me, damn it.
	br	1b

	.end _mcount