summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/mips/bits/syscalls.h
Commit message (Collapse)AuthorAgeFilesLines
* MIPS: restore INLINE_SYSCALL macroGabor Juhos2010-04-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MIPS specific INLINE_SYSCALL macro has been renamed to INLINE_SYSCALL_NCS with: 763bbf9e9a27426c9be8322dca5ddf2cb4dbc464 syscall: unify part 2: NCS variety Declare common NCS (non-constant syscall) variants and convert the existing ports over to this. This change breaks system calls. The code generated with using of the new macro does not obey the restartable syscall convention used by the linux kernel. When it tries to restart the syscall the errno value is not being replaced by the syscall number. This causes weird behaviour of the 'ping' command in busybox for example: root@OpenWrt:/# ping 192.168.1.254 PING 192.168.1.254 (192.168.1.254): 56 data bytes 64 bytes from 192.168.1.254: seq=0 ttl=128 time=6.292 ms ping: recvfrom: Function not implemented 64 bytes from 192.168.1.254: seq=1 ttl=128 time=0.719 ms ping: recvfrom: Function not implemented 64 bytes from 192.168.1.254: seq=2 ttl=128 time=0.489 ms ping: recvfrom: Function not implemented 64 bytes from 192.168.1.254: seq=3 ttl=128 time=0.486 ms ping: recvfrom: Function not implemented 64 bytes from 192.168.1.254: seq=4 ttl=128 time=0.487 ms ping: recvfrom: Function not implemented 64 bytes from 192.168.1.254: seq=5 ttl=128 time=0.939 ms ping: recvfrom: Function not implemented 64 bytes from 192.168.1.254: seq=6 ttl=128 time=0.971 ms ping: recvfrom: Function not implemented 64 bytes from 192.168.1.254: seq=7 ttl=128 time=0.488 ms ping: recvfrom: Funct^C Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* mips: do not save variables in "hi" or "lo" across system callsDaniel Jacobowitz2009-09-261-2/+2
| | | | | | | | | The kernel does not save these registers across system calls. GCC 4.4 has gotten more aggressive about using them for temporary variables, so this shows up as intermittent crashes if you use a recent compiler. Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* syscall: unify part 2: NCS varietyMike Frysinger2009-07-091-2/+2
| | | | | | | Declare common NCS (non-constant syscall) variants and convert the existing ports over to this. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* syscall: unify common syscall definesMike Frysinger2009-07-081-67/+0
| | | | | | | | | Unify all the common syscall defines in syscalls-common.h and scrub all the duplicated code from relevant ports. This should also make converting existing ports to INLINE_SYSCALL() much easier as they don't have to get lost in all the unrelated noise, as well as creating new ports. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* - trim any trailing whitespaceBernhard Reutner-Fischer2008-07-231-1/+1
|
* Atsushi Nemoto writes:Mike Frysinger2007-02-151-348/+65
| | | | | | | | | | | | | | | When I imported INLINE_SYSCALL, etc. from glibc, I just copied whole macros for each ABI. Actually, except for argument type (long vs. long long), internal_syscall[0-4] are identical for all ABI, and internal_syscall[5-6] for N32/N64 are identical for N32/N64. And I just disabled FORCE_FRAME_POINTER since it had caused build failure, but including <alloca.h> can solve it. Here is a patch to handle these issues, plus asm/__asm__ and volatile/__volatile__ conversion. Thanks for Peter S. Mazinger who did basic work of this cleanup.
* Atsushi Nemoto writes:Mike Frysinger2007-02-111-266/+583
| | | | | | | | This patch imports INLINE_SYSCALL, etc. from glibc-2.5 ports and implements _syscall[0-7] by using them, like arm and powerpc. I think this patch does not change functionality, but gives better __SYSCALL_CLOBBERS for N32/N64.
* Take Mike Frysinger's comments into account -- make certain that userEric Andersen2006-12-081-4/+0
| | | | | applications stop using _syscall#() and use syscall() instead. Cleanup internal handling of syscall includes to use the correct header file.
* mips64 patch from Atsushi Nemoto:Eric Andersen2006-11-041-0/+96
| | | | The mips64 N32/N64 ABI can pass much arguments via registers.
* sync with psm: update errno handling to be the same on all archesMike Frysinger2006-08-231-7/+4
|
* sync __SYSCALL_CLOBBERS macro from glibcMike Frysinger2006-01-051-16/+11
|
* Further rework the mips syscallsEric Andersen2005-04-131-183/+221
|
* Cleanup the mips syscalls a bit more, and fix a fewEric Andersen2005-04-011-34/+34
| | | | annoying warnings.
* Make mips/mipsel syscalls no longer complain about the "use of memory inputEric Andersen2005-03-141-6/+12
| | | | without lvalue in asm". Give the asm an lvalue so it can be happy.
* Atsushi Nemoto writes:Eric Andersen2004-10-191-8/+8
| | | | | | | | | In a recent post to linux-mips ML (and libc-alpha ML), a problem with inline syscalls was reported. http://www.linux-mips.org/archives/linux-mips/2004-10/msg00142.html It seems uClibc should be fixed also for newer gcc. Here is a patch.
* Change <bits/syscall.h> to <bits/sysnum.h>.Miles Bader2002-09-051-2/+2
|
* Cleanup error returns to avoid warningsEric Andersen2002-08-091-8/+8
| | | | -Erik
* The __set_errno macro _must_ match that defined in include/bits/errno.h. WeEric Andersen2002-07-261-1/+9
| | | | | | | can't tack in the return -1 since then when people include errno.h, the return -1 mysteriously vanishes... Setting the __set_errno back and restoring the 'return -1;' calls to each _syscall[0-n] macro makes mips syscalls work again. -Erik
* ldso specific syscalls and userspace syscalls all in one file now."Steven J. Hill"2002-07-251-5/+214
|
* Rework syscall handling. Rewrite syscall handlers for x86 and ARM.Eric Andersen2002-07-221-4/+8
| | | | | | Prepare to kill the UNIFIED_SYSCALL option and instead have it be a per arch thing that is either enabled or not for that arch. -Erik
* Be consistant about the ways in which asm/unistd.h mightEric Andersen2002-02-041-220/+6
| | | | | | be included to avoid gratuitous conflicts... This is a hack till we have proper _syscall macros for all archs. -Erik
* Add in syscalls.h for mipsel, thanks to Steven J. Hill.Eric Andersen2002-02-011-0/+224
Remove and ignore generated syscall.h files from sparc and mipsel.