sbrk.S revision 1.3.64.1 1 /* $NetBSD: sbrk.S,v 1.3.64.1 2015/02/04 22:00:24 martin Exp $ */
2
3 #include "SYS.h"
4
5 .hidden _C_LABEL(__curbrk)
6 .globl _C_LABEL(__curbrk)
7
8 #ifdef WEAK_ALIAS
9 WEAK_ALIAS(sbrk, _sbrk)
10 #endif
11
12 ENTRY(_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
22 1:
23 BRANCH_TO_CERROR()
24 END(_sbrk)
25