summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/avr32/brk.c
blob: d824c7cd07598f2e8d82d18d06b625c156529047 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
 * Copyright (C) 2004-2007 Atmel Corporation
 *
 * This file is subject to the terms and conditions of the GNU Lesser General
 * Public License.  See the file "COPYING.LIB" in the main directory of this
 * archive for more details.
 */
#include <errno.h>
#include <unistd.h>
#include <sys/syscall.h>

libc_hidden_proto(brk)

void *__curbrk attribute_hidden = 0;

int brk (void *addr)
{
       void *newbrk;

       newbrk = (void *)INLINE_SYSCALL(brk, 1, addr);

       __curbrk = newbrk;

       if (newbrk < addr) {
               __set_errno (ENOMEM);
               return -1;
       }

       return 0;
}
libc_hidden_def(brk)