xref: /csrg-svn/lib/libc/i386/sys/brk.s (revision 45828)
141013Swilliam/*-
241013Swilliam * Copyright (c) 1990 The Regents of the University of California.
341013Swilliam * All rights reserved.
441013Swilliam *
541013Swilliam * This code is derived from software contributed to Berkeley by
641013Swilliam * William Jolitz.
741013Swilliam *
841013Swilliam * %sccs.include.redist.c%
941013Swilliam */
1041013Swilliam
1141013Swilliam#if defined(SYSLIBC_SCCS) && !defined(lint)
12*45828Swilliam	.asciz "@(#)brk.s	5.2 (Berkeley) 12/17/90"
1341013Swilliam#endif /* SYSLIBC_SCCS and not lint */
1441013Swilliam
1541013Swilliam#include "SYS.h"
1641013Swilliam
1741013Swilliam#define	SYS_brk		17
1841013Swilliam
1941013Swilliam	.globl	curbrk
2041013Swilliam	.globl	minbrk
2141013SwilliamENTRY(_brk)
2241013Swilliam	jmp	ok
2341013Swilliam
2441013SwilliamENTRY(brk)
2541013Swilliam	movl	4(%esp),%eax
2641013Swilliam	cmpl	%eax,minbrk
27*45828Swilliam	jl	ok
2841013Swilliam	movl	minbrk,%eax
2941013Swilliam	movl	%eax,4(%esp)
3041013Swilliamok:
3141013Swilliam	lea	SYS_brk,%eax
3241013Swilliam	LCALL(7,0)
3341013Swilliam	jb	err
3441013Swilliam	movl	4(%esp),%eax
3541013Swilliam	movl	%eax,curbrk
3641013Swilliam	movl	$0,%eax
3741013Swilliam	ret
3841013Swilliamerr:
3941013Swilliam	jmp	cerror
40