Home | History | Annotate | Line # | Download | only in sys
sbrk.S revision 1.3.64.1
      1  1.3.64.1  martin /*	$NetBSD: sbrk.S,v 1.3.64.1 2015/02/04 22:00:24 martin Exp $	*/
      2       1.1    ross 
      3       1.1    ross #include "SYS.h"
      4       1.1    ross 
      5  1.3.64.1  martin 	.hidden	_C_LABEL(__curbrk)
      6       1.1    ross 	.globl	_C_LABEL(__curbrk)
      7       1.1    ross 
      8       1.1    ross #ifdef WEAK_ALIAS
      9       1.1    ross WEAK_ALIAS(sbrk, _sbrk)
     10       1.1    ross #endif
     11       1.1    ross 
     12       1.1    ross ENTRY(_sbrk)
     13  1.3.64.1  martin 	addis	%r8,%r2,_C_LABEL(__curbrk)@toc@ha
     14  1.3.64.1  martin 	ldptru	%r6,_C_LABEL(__curbrk)@toc@l(%r8)
     15       1.1    ross 	add	%r3,%r3,%r6
     16       1.1    ross 	mr	%r7,%r3				# r7 = new break
     17  1.3.64.1  martin 	_DOSYSCALL(break)			# break(new_break)
     18       1.1    ross 	bso	1f
     19       1.1    ross 	mr	%r3,%r6				# set return value
     20  1.3.64.1  martin 	stptr	%r7,0(%r8)			# record new break
     21       1.1    ross 	blr
     22       1.1    ross 1:
     23  1.3.64.1  martin 	BRANCH_TO_CERROR()
     24  1.3.64.1  martin END(_sbrk)
     25