summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux
AgeCommit message (Collapse)Author
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>
2010-03-25prettify make cleanBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-03-18nios2: Define INTERNAL_SYSCALL_NCS, use common sycall definesTobias Klauser
Define the nios2 version of INTERNAL_SYSCALL_NCS and remove all sycall defines already defined by the common syscall defines. This will make the master branch of uClibc compile again for nios2. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-03-18nios2: Update fcntl.h from m68kTobias Klauser
Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-03-16nios2: Add sys/user.hTobias Klauser
This is a fixed version containing copyright information. The patch should now apply using 'git am'. linux/user.h is no longer exported during kernel make headers_install Signed-off-by: Atle Nissestad <atle@nissestad.no> Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-03-05pull kernel-features.h from NPTLBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-03-04poll: unavailable on linux < 2.2.0Bernhard Reutner-Fischer
fixes bug #253 Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-02-10libc_sh: Add a sysdep header for shCarmelo Amoroso
A new sysdep header for sh (ported from NPTL branch) to provide some useful macros in asm code: ENTRY: an entry point visible from C PSEUDO: a wrapper for syscall with proper errno checking SYSCALL_ERROR_HANDLER: errno check (suitable for TLS) This will help in NPTL integration. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2010-02-10libc: Add a common sysdep headerCarmelo Amoroso
Add a common header file to provide macros useful in asm code: C_LABEL to construct the asm name for a C symbol cfi_xxx to generate eh_frame unwind information. Ported from NPTL branch. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2010-02-05getdents: Fix mips64 buildAtsushi Nemoto
On Wed, 27 Jan 2010 07:14:08 +0100, Carmelo AMOROSO <carmelo.amoroso@st.com> wrote: > I would re-write your patch in a simpler way. > > We already have the following > > 136 #if defined __UCLIBC_HAS_LFS__ && ! defined __NR_getdents64 > 137 attribute_hidden strong_alias(__getdents,__getdents64) > 138 #endif > > I think that it's simpler to move in the proper place this statement. Thanks, indeed. If we came into "#elif WORDSIZE == 32" block, above condition never be true. So we can just move this statement out of "#if...#elif...#elif...#endif" block. Here is a revised patch. ------------------------------------------------------ From: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Subject: [PATCH] getdents: Fix mips64 build Some archs (such as mips64) do not have getdents64 syscall but have getdents syscall. Define alias for it. This fixes regression from 0.9.30.1. Backgrounds: This is once done by commit e8b1c674. But after the commit 33bcf733 ("Use getdents syscall if kernel provide supports for this instead of relying upon getdents64."), if __ASSUME_GETDENTS32_D_TYPE was defined the alias for getdents64 is not defined. The macro __ASSUME_GETDENTS32_D_TYPE had been effectively ignored until 0.9.30.1 but the commit 0f0f20ab ("Move kernel-features.h header from the linuxthread directory to a common one...") really enables it. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-02-05prctl: silence shadow warningsBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-02-03Unbreak build for sparc on some config'sAustin Foxley
Thanks to rob@landley.net Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-03powerpc/bits/sysdep.h: move confusingly placed #undefDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-02remove two checks for gettimeofday errorDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-02time,times: stop interpreting negative return values ar errorsDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-22silence warning about implicit decl of sysctlBernhard Reutner-Fischer
... and reinstate comment explaining the gory details Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-01-21avr32: add varargs handling of prctl syscallHans-Christian Egtvedt
prctl is defined to use varargs in the header file, hence it needs varargs specific handling in the source. This patch properly handles the variodic argument before the syscall is passed to the kernel for the AVR32 architecture. Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
2010-01-16futimens: add missing local prototypeBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-01-14mips/nptl: Pass correct parameters to dl_find_hash when resolving TLS ↵Khem Raj
relocations. Make use of macros from sys/asm.h in crt1.S These two changes are needed for mips nptl to boot once again. Signed-off-by: Khem Raj <raj.khem@gmail.com>
2009-12-19x86_64: fix multiple definition of chk functionsAustin Foxley
also enable __chk_fail and only try to call it when SSP is on Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2009-12-16build: Get rids of PIC macro using compiler flag __PIC__ insteadCarmelo Amoroso
Based on Peter Mazinger's comments on a recent commit, I decided to get rids of all occurrences of PIC changing them to __PIC__ Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2009-12-03sh: Add a prototype for the gcc __set_fpscr internal functionCarmelo Amoroso
The sh port uses the gcc __set_fpscr internal function, but neither gcc nor glibc creates a prototype for it. This leads to a bunch of random warnings about implicit decls during the build. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2009-11-30uClibc_ctype.h: fix inverted check for susv4 macroAustin Foxley
Was causing build failures if ctype tables were disabled and susv4 was on Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2009-11-27make x86_64 struct utmp glibc-compatibleDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-26sync confname, environments with glibcBernhard Reutner-Fischer
Plus related synch. Add a testcase for the sysconf variables based on the one from glibc Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-11-25in6_{pktinfo,mtuinfo}: provide type if IPV6 is onBernhard Reutner-Fischer
Disable some IPv6 header defines if IPv6 is off. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-11-23nommu: use MAP_UNINITIALIZE for mallocsMike Frysinger
Now that the kernel supports MAP_UNINITIALIZE, have the malloc places use it to get real uninitialized memory on no-mmu systems. This avoids a lot of normally useless overhead involved in zeroing out all of the memory (sometimes multiple times). Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-11-23bits/mmap.h: unify ala linux asm-generic effortsMike Frysinger
Most ports have the same exact mman bit defines, so let's unify things like the linux kernel has with the asm-generic efforts. A few ports are left behind as they are non-trivial to merge -- the arch maintainers can tackle it if they care. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-11-23futimens: Ducument why we need manual hidden_protoBernhard Reutner-Fischer
Also, remove unneeded __need_timespec (It cuts off a tiny bit of work for CPP but is of course not strictly needed). Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-11-20futimens: add functionBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-11-20ppoll: get NULL from stddef.hBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-11-19sync some headers and disable unused prototypesPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-11-19SUSv4: disable isascii, toascii, _toupper, _tolowerBernhard Reutner-Fischer
[__]isascii need to be defined all the time for the build. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-11-19DO_XSI_MATH: add config knobBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-11-19_Exit(): add weak alias to _exit() for C99Bernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-10-22disable _POSIX_SPAWN defineMike Frysinger
We don't provide spawn.h let alone any other spawn funcs/types, so don't set up the _POSIX_SPAWN define that some packages (like vlc) check. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-10-22sysctl: avoid inline initializationMike Frysinger
Assign each field one by one rather than stack initialization as gcc will call memset() to zero out the rest of the structure -- which we don't care about as the field is unused and not seen outside of the libc. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-10-22sparc: use fputs to write to stderrMike Frysinger
This also has the advantage of fputs() having a hidden alias while puts does not. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-10-22sparc: use HIDDEN_JUMPTARGET for errnoMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-10-15sparc qops: unify & shrinkMike Frysinger
We don't really need to know the exact symbol that caused a failure as long as we know where to start looking. So unify the duplicate code between all funcs and between the sparc variants. This gives us a nice code shrink of ~95%. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
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-10-14Fix SH bits/kernel_types.h for new kernel headers.Joseph Myers
Recent SH kernel headers merge 32-bit and 64-bit headers, changing the include guards on asm/posix_types.h in the process; update uClibc code depending on those include guards. Signed-off-by: Joseph Myers <joseph@codesourcery.com>
2009-10-08utime() is obsolescent in SUSv4Bernhard Reutner-Fischer
LEGACY was removed for utimes() in SUSv4 Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-10-08Fix building arm EABIBernhard Reutner-Fischer
The syscall() impl on aeabi comes from syscall-eabi.S thus we do not need the generic syscall() impl. Fixes: AS libc/sysdeps/linux/arm/syscall-eabi.os CC libc/sysdeps/linux/common/syscall.os libc/libc_so.a(syscall.os): In function `syscall': syscall.c:(.text+0x0): multiple definition of `syscall' libc/libc_so.a(syscall-eabi.os):(.text+0x0): first defined here Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-10-07clean up O_CLOEXEC handlingMike Frysinger
Drop the "#ifndef O_CLOEXEC" cruft, enable O_CLOEXEC in most fcntl.h headers, and import __ASSUME_O_CLOEXEC from glibc. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-10-07fcntl.h: drop unused/dead O_STREAMINGMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-10-05sparc: add stubs for more of the _Q* opsAustin Foxley
Thanks to Jason Woodward <jason.woodward@timesys.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2009-10-05descriptive error messageBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-09-26mips: do not save variables in "hi" or "lo" across system callsDaniel Jacobowitz
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>