OSDN Git Service

hidden_def/hidden_proto: convert all users (I hope) termios split, add some missing...
[uclinux-h8/uClibc.git] / libc / sysdeps / linux / m68k / brk.c
1 /* consider this code LGPL - davidm */
2
3 #include <unistd.h>
4 #include <sys/syscall.h>
5 #include <errno.h>
6
7 /* This must be initialized data because commons can't have aliases.  */
8 void * __curbrk = 0;
9
10 int brk (void *addr)
11 {
12     void *newbrk;
13
14         __asm__ volatile ("movel %2,%/d1\n\t"
15                           "moveq %1,%/d0\n\t"
16                           "trap  #0\n\t"
17                           "movel %/d0,%0"
18                 :"=g" (newbrk)
19                 :"i" (__NR_brk),"g" (addr) : "%d0", "%d1");
20
21     __curbrk = newbrk;
22
23     if (newbrk < addr)
24     {
25         __set_errno (ENOMEM);
26         return -1;
27     }
28
29     return 0;
30 }
31 libc_hidden_proto(brk)
32 libc_hidden_def(brk)