Update copyright notices with scripts/update-copyrights
[glibc.git] / ports / sysdeps / unix / sysv / linux / ia64 / brk.S
blob1a5525b109dd71f378cc02c346946e48be147138
1 /* brk system call for Linux/ia64
2    Copyright (C) 1999-2014 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
4    Written by Stephane Eranian <eranian@hpl.hp.com> and
5               Jes Sorensen, <Jes.Sorensen@cern.ch>, April 1999.
7    The GNU C Library is free software; you can redistribute it and/or
8    modify it under the terms of the GNU Lesser General Public
9    License as published by the Free Software Foundation; either
10    version 2.1 of the License, or (at your option) any later version.
12    The GNU C Library is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15    Lesser General Public License for more details.
17    You should have received a copy of the GNU Lesser General Public
18    License along with the GNU C Library; if not, see
19    <http://www.gnu.org/licenses/>.  */
21 #include <sysdep.h>
23 #include <asm/unistd.h>
24 #include <asm/errno.h>
26         .global __curbrk
27         .type __curbrk,@object
28         .size __curbrk,8
29         .data
30         .align  8
31 __curbrk:
32         data8   0
34 weak_alias (__curbrk, ___brk_addr)
36 LEAF(__brk)
37         .regstk 1, 0, 0, 0
38         DO_CALL(__NR_brk)
39         cmp.ltu p6, p0 = ret0, in0
40         addl r9 = @ltoff(__curbrk), gp
41         ;;
42         ld8 r9 = [r9]
43 (p6)    mov ret0 = ENOMEM
44 (p6)    br.cond.spnt.few __syscall_error
45         ;;
46         st8 [r9] = ret0
47         mov ret0 = 0
48         ret
49 END(__brk)
51 weak_alias (__brk, brk)