sbrk.S revision 1.10
11.1Sragge/* 21.1Sragge * Copyright (c) 1983, 1993 31.1Sragge * The Regents of the University of California. All rights reserved. 41.1Sragge * 51.1Sragge * Redistribution and use in source and binary forms, with or without 61.1Sragge * modification, are permitted provided that the following conditions 71.1Sragge * are met: 81.1Sragge * 1. Redistributions of source code must retain the above copyright 91.1Sragge * notice, this list of conditions and the following disclaimer. 101.1Sragge * 2. Redistributions in binary form must reproduce the above copyright 111.1Sragge * notice, this list of conditions and the following disclaimer in the 121.1Sragge * documentation and/or other materials provided with the distribution. 131.10Sagc * 3. Neither the name of the University nor the names of its contributors 141.1Sragge * may be used to endorse or promote products derived from this software 151.1Sragge * without specific prior written permission. 161.1Sragge * 171.1Sragge * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 181.1Sragge * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 191.1Sragge * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 201.1Sragge * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 211.1Sragge * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 221.1Sragge * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 231.1Sragge * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 241.1Sragge * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 251.1Sragge * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 261.1Sragge * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 271.1Sragge * SUCH DAMAGE. 281.1Sragge */ 291.1Sragge 301.1Sragge#if defined(SYSLIBC_SCCS) && !defined(lint) 311.1Sragge /* .asciz "@(#)sbrk.s 8.1 (Berkeley) 6/4/93" */ 321.10Sagc .asciz "$NetBSD: sbrk.S,v 1.10 2003/08/07 16:42:33 agc Exp $" 331.1Sragge#endif /* SYSLIBC_SCCS and not lint */ 341.1Sragge 351.1Sragge#include "SYS.h" 361.1Sragge 371.8Skleink .globl _end 381.6Smatt .globl _C_LABEL(__minbrk) 391.6Smatt .globl CURBRK 401.1Sragge 411.4Skleink#ifdef WEAK_ALIAS 421.4SkleinkWEAK_ALIAS(sbrk, _sbrk) 431.4Skleink#endif 441.4Skleink 451.1Sragge .data 461.6Smatt_C_LABEL(__minbrk): 471.8Skleink .long _end 481.6SmattCURBRK: 491.8Skleink .long _end 501.1Sragge .text 511.1Sragge 521.4SkleinkENTRY(_sbrk, 0) 531.9Smatt addl3 CURBRK,4(%ap),-(%sp) 541.1Sragge pushl $1 551.9Smatt movl %ap,%r3 561.9Smatt movl %sp,%ap 571.1Sragge chmk $ SYS_break 581.1Sragge jcs err 591.9Smatt movl CURBRK,%r0 601.9Smatt addl2 4(%r3),CURBRK 611.1Sragge ret 621.1Sraggeerr: 631.7Smatt jmp CERROR+2 64