154408Storek/* 2*61176Sbostic * Copyright (c) 1992, 1993 3*61176Sbostic * The Regents of the University of California. All rights reserved. 454408Storek * 554408Storek * This software was developed by the Computer Systems Engineering group 654408Storek * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and 754408Storek * contributed to Berkeley. 854408Storek * 954408Storek * %sccs.include.redist.c% 1054408Storek * 1154588Storek * from: $Header: sbrk.s,v 1.3 92/07/02 00:56:49 torek Exp $ 1254408Storek */ 1354408Storek 1454408Storek#if defined(LIBC_SCCS) && !defined(lint) 15*61176Sbostic .asciz "@(#)sbrk.s 8.1 (Berkeley) 06/04/93" 1654408Storek#endif /* LIBC_SCCS and not lint */ 1754408Storek 1854408Storek#include "SYS.h" 1954408Storek 2054408Storek .globl _end 2154408Storek .globl curbrk 2254408Storek 2354408Storek .data 2454408Storekcurbrk: .long _end 2554408Storek .text 2654408Storek 2754408StorekENTRY(sbrk) 2854408Storek sethi %hi(curbrk), %o2 2954408Storek ld [%o2 + %lo(curbrk)], %o3 ! %o3 = old break 3054408Storek add %o3, %o0, %o4 ! %o4 = new break 3154408Storek mov %o4, %o0 ! copy for syscall 3254408Storek mov SYS_break, %g1 3354408Storek t ST_SYSCALL ! break(new_break) 3454588Storek bcc,a 1f ! if success, 3554408Storek mov %o3, %o0 ! set return value 3654408Storek ERROR() 3754408Storek1: 3854408Storek retl ! and update curbrk 3954408Storek st %o4, [%o2 + %lo(curbrk)] 40