summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/i386/bits/syscalls.h
AgeCommit message (Collapse)Author
2012-08-04i386/bits/syscalls.h: allow immediate values as 6th syscall argNatanael Copa
Allow use of immedate values as the 6th syscall argument. Otherwise we must store the arg on memory. This gives gcc more options to optimize better. This also works around an issue with posix_fallocate. Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-01-26*: silence some warningsBernhard Reutner-Fischer
warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-02-09i386: extend IMA guards to also cover LTOBernhard Reutner-Fischer
See GCC PR47577; TODO: Remove them. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-04-09Fixes NPTL build on x86.Natanael Copa
Signed-off-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-04-06i386/bits/syscalls.h: more compact, but stack-hungry syscall code. disabled ↵Denys Vlasenko
so far Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-06i386/bits/syscalls.h: explain _BITS_SYSCALLS_ASMDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-06i386/bits/syscalls.h: generate better code using more restrictive asm ↵Denys Vlasenko
constraints Example: time() doesn't push/pop two registers now, and is smaller: <__GI_time>: -57 push %edi -8b 7c 24 08 mov 0x8(%esp),%edi -53 push %ebx -89 fb mov %edi,%ebx +8b 4c 24 04 mov 0x4(%esp),%ecx +87 cb xchg %ecx,%ebx b8 0d 00 00 00 mov $0xd,%eax cd 80 int $0x80 -5b pop %ebx -5f pop %edi +87 cb xchg %ecx,%ebx c3 ret Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-06i386/bits/syscalls.h: explain how it works. no code changesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-15i386: use common INTERNAL_SYSCALL_ERROR_PMike Frysinger
The common define has the same behavior, just formatted differently. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-07-09syscall: unify part 2: NCS varietyMike Frysinger
Declare common NCS (non-constant syscall) variants and convert the existing ports over to this. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-07-08syscall: unify common syscall definesMike Frysinger
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>
2008-04-24- fixup asm. No object-code changesBernhard Reutner-Fischer
2008-01-05michael_d writes in #1874: Mike Frysinger
On an i386 platform with no rt_sigsuspend syscall (ie: Linux 2.0), compilation will halt on libc/sysdeps/linux/common/sigsuspend.os with a cryptic error message: "Error: non-constant expression in ".if" statement" I've investigated and found that the cause is that a literal '0' is being passed into a block of complex assembler macrology that is only prepared to deal with register names - '%eax', etc. In turn, that seems to be because of a typo in the GCC register constraints. The constraints for 2 and 3-argument syscalls includes a "C" constraint. To gcc, "C" means an SSE floating point constant -- an unlikely element in a syscall. I suspect the author meant to type "S" (%esi).
2007-03-13Using local variable 'result' caused problems with lseek64 syscall failing ↵Khem Raj
with gcc 4.2. Renaming to make it a bit uncommon name.
2007-03-06Add posix_fadvise posix_fadvise64 for arm.Khem Raj
Import INTERNAL_SYSCALL macro for i386 from glibc. Use above macro in posix_fadvise implementation if an arch defines it.
2006-12-08Take Mike Frysinger's comments into account -- make certain that userEric Andersen
applications stop using _syscall#() and use syscall() instead. Cleanup internal handling of syscall includes to use the correct header file.
2006-08-23sync with psm: update errno handling to be the same on all archesMike Frysinger
2006-04-13prune trailing whitespaceEric Andersen
2006-02-15Block the combo DOMULTI/SUPPORT_LD_DEBUGPeter S. Mazinger
2006-01-23Make i386 build w/ -std=c99 (almost)Peter S. Mazinger
2006-01-05implement syscall6Mike Frysinger
2005-11-02Undo 12115, it fails on building libc/sysdeps/linux/commonPeter S. Mazinger
2005-11-02Cleaner i386/syscalls.h patch to handle macro redefines proposed by jockePeter S. Mazinger
2005-11-02Remove __set_errno proposed by jockePeter S. Mazinger
2005-11-02Allow sources using syscalls to be IMA compiled on x86Peter S. Mazinger
2002-09-05Change <bits/syscall.h> to <bits/sysnum.h>.Miles Bader
2002-07-22Rework syscall handling. Rewrite syscall handlers for x86 and ARM.Eric Andersen
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
2001-06-28Added a script to create bits/syscall.h for each arch.Manuel Novoa III
NOTE!!! This is run by "make -C libc/sysdeps/linux/$(TARGET_ARCH) headers" in the main Makefile, but I only changed libc/sysdeps/linux/i386/Makefile as I had no way of testing it for the other archs. Various arch maintainers, please check and update the corresponding Makefile... or report bugs ;-)... appropriately. You'll also want to "cvs del" syscall.h and add it to a .cvsignore in $(ARCH)/bits. Also added a define to uClibc_config.h, __UCLIBC_USE_UNIFIED_SYSCALL__, and moved i386 unified syscall stuff out of common and into i386/bits/syscalls.h.
2001-06-27Step one in a process to ween ourselves off of using asm/unistd.h.Eric Andersen
This will break the build for a bit. -Erik
2001-06-23This adds in support for PIC on x86. Unfortunately, this will breakEric Andersen
all arches till they add in an libc/sysdeps/linux/<arch>/bits/syscalls.h file. Sorry about there, there was no other way... -Erik