Home | History | Annotate | Line # | Download | only in sys
      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
      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