xref: /minix/lib/libc/arch/powerpc64/sys/sbrk.S (revision 0a6a1f1d)
1/*	$NetBSD: sbrk.S,v 1.5 2014/08/23 02:24:22 matt Exp $	*/
2
3#include "SYS.h"
4
5	.hidden	_C_LABEL(__curbrk)
6	.globl	_C_LABEL(__curbrk)
7
8#ifdef WEAK_ALIAS
9WEAK_ALIAS(sbrk, _sbrk)
10#endif
11
12ENTRY(_sbrk)
13	addis	%r8,%r2,_C_LABEL(__curbrk)@toc@ha
14	ldptru	%r6,_C_LABEL(__curbrk)@toc@l(%r8)
15	add	%r3,%r3,%r6
16	mr	%r7,%r3				# r7 = new break
17	_DOSYSCALL(break)			# break(new_break)
18	bso	1f
19	mr	%r3,%r6				# set return value
20	stptr	%r7,0(%r8)			# record new break
21	blr
221:
23	BRANCH_TO_CERROR()
24END(_sbrk)
25