brk.S revision 1.3
1/*	$NetBSD: brk.S,v 1.3 1998/05/25 15:35:06 ws Exp $	*/
2
3#include "SYS.h"
4
5	.globl	_ASM_LABEL(curbrk)
6
7	.text
8
9#ifdef PIC
10	XXX
11#else
12ENTRY(brk)
13	lis	5,_C_LABEL(end)@ha	# r5 = &_end
14	addi	5,5,_C_LABEL(end)@l
15	cmplw	5,3			# if (&_end <= r3)
16	bgt	0f
17	mr	5,3			# r5 = r3
180:
19	mr	3,5			# new break value
20	li	0,SYS_break
21	sc				# assume, that r5 is kept
22	bso	1f
23	lis	6,_ASM_LABEL(curbrk)@ha	# record new break
24	stw	5,_ASM_LABEL(curbrk)@l(6)
25	blr				# return 0
26
271:
28	b	_ASM_LABEL(cerror)
29#endif
30