summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/mips/brk.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2006-01-05 03:28:31 +0000
committerMike Frysinger <vapier@gentoo.org>2006-01-05 03:28:31 +0000
commit48dae5e2a56438937e20d1dd5cde105dbaf511e1 (patch)
treee05e0239669952cdbcda234c00abb675f7a5d2e9 /libc/sysdeps/linux/mips/brk.c
parent9522ae94dc821afd31f92d08dfcdf55cf265b4d6 (diff)
sync Joseph S. Myers fixes from glibc for proper clobbers
Diffstat (limited to 'libc/sysdeps/linux/mips/brk.c')
-rw-r--r--libc/sysdeps/linux/mips/brk.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libc/sysdeps/linux/mips/brk.c b/libc/sysdeps/linux/mips/brk.c
index c513cd399..ba6765ca7 100644
--- a/libc/sysdeps/linux/mips/brk.c
+++ b/libc/sysdeps/linux/mips/brk.c
@@ -1,5 +1,5 @@
/* brk system call for Linux/MIPS.
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2005, 2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -31,10 +31,11 @@ int attribute_hidden __brk (void *addr)
register long int res __asm__ ("$2");
asm ("move\t$4,%2\n\t"
+ "li\t%0,%1\n\t"
"syscall" /* Perform the system call. */
: "=r" (res)
- : "0" (__NR_brk), "r" (addr)
- : "$4", "$7");
+ : "I" (__NR_brk), "r" (addr)
+ : "$4", "$7", __SYSCALL_CLOBBERS);
newbrk = (void *) res;
}
__curbrk = newbrk;