Home | History | Annotate | Line # | Download | only in sys
sbrk.S revision 1.3
      1 /*	$NetBSD: sbrk.S,v 1.3 1998/05/25 15:35:06 ws Exp $	*/
      2 
      3 #include "SYS.h"
      4 
      5 	.globl	_C_LABEL(end)
      6 	.globl	_ASM_LABEL(curbrk)
      7 
      8 	.data
      9 _ASM_LABEL(curbrk):
     10 	.long	_C_LABEL(end)
     11 	.text
     12 
     13 ENTRY(sbrk)
     14 #ifdef PIC
     15 	 XXX
     16 #else
     17 	lis	5,_ASM_LABEL(curbrk)@ha
     18 	lwz	6,_ASM_LABEL(curbrk)@l(5)	# r6 = old break
     19 	add	3,3,6
     20 	mr	7,3				# r7 = new break
     21 	li	0,SYS_break
     22 	sc					# break(new_break)
     23 	bso	1f
     24 	mr	3,6				# set return value
     25 	stw	7,_ASM_LABEL(curbrk)@l(5)	# record new break
     26 	blr
     27 1:
     28 	b	_ASM_LABEL(cerror)
     29 #endif
     30