summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps
Commit message (Collapse)AuthorAgeFilesLines
* honour NO_LONG_DOUBLE_MATHBernhard Reutner-Fischer2009-08-3018-19/+81
| | | | | | | | This fixes compilation errors on hosts that turn off long double support for C99 like powerpc32. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* Build posix_fadvice{64} only when UCLIBC_HAS_ADVANCED_REALTIME is set.Khem Raj2009-08-305-9/+22
| | | | | | | | | Right now for ARM, MIPS, Xtensa and powerpc posix_fadvise routines are included conditionally. They should only be enabled when UCLIBC_HAS_ADVANCED_REALTIME is set. Also fix code style in powerpc/posix_fadvise64.c Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Add posix_fadvise{64}.c routines to Makefile.archKhem Raj2009-08-302-7/+7
| | | | | | | Fix the argument types to operate on long and correct a typo. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Add posix_fadvise and posix_fadvise64 for powerpcKhem Raj2009-08-302-0/+106
| | | | | | | | | The syscall is having different number of params and in one case the parameters are passed in differently. This patch add powerpc specific versions of these functions. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* support building out-of-treeBernhard Reutner-Fischer2009-08-172-2/+3
| | | | | | Handle O= Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* m68k syscall: switch to common codeMaxim Kuvyrkov2009-08-133-204/+69
| | | | | Signed-off-by: Maxim Kuvyrkov <maxim@codesourcery.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* handle _SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLNBernhard Reutner-Fischer2009-08-051-0/+5
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* ioperm is not used internally, remove hidden_protoBernhard Reutner-Fischer2009-08-011-1/+3
| | | | | | Without a hidden_def we'd end up with __GI_ioperm which is wrong. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* syscall.c: Use common syscall.c for ARMKhem Raj2009-08-013-129/+0
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* build: Include Makefile.commonarch from common Makefile.inCarmelo Amoroso2009-07-2920-38/+1
| | | | | | | | Avoid including akefile.commonarch in each Makefile.arch. Include it instead from Makefile.in just after the arch specific Makefile.arch Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* force arches to provide sys/user.hMike Frysinger2009-07-261-1/+1
| | | | | | | Now that Linux is no longer installing linux/user.h, arches will have to provide their own. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* add missing UTIME_* defines for *at funcsMike Frysinger2009-07-2611-10/+64
| | | | | | I always forget that many arches have their own bits/stat.h ... Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* enable nanosecond stat support for everyoneMike Frysinger2009-07-2635-409/+292
| | | | | | | | | | | | | Fill out the stat structure so that the nanosecond resolution support is always available. There is a small code size increase for a few ports (three additional assignments in xstatconv), but otherwise everything should remain the same. While we're here, punt __old_kernel_stat from the few headers that still define it as it is unused in uClibc and causes compile errors after these nanosecond changes. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* enable sbrk() for everyoneMike Frysinger2009-07-261-4/+0
| | | | | | | | | The sbrk() function can be used to merely query sizes and for that, no-mmu works the same as mmu. It can also sometimes increase data segments on no-mmu systems provided the trailing memory is free. So, there is no real reason to exclude this function for no-mmu ports. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* add missing UTIME_* defines for *at funcsMike Frysinger2009-07-261-1/+6
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: fix typo in byteswap.h commitMike Frysinger2009-07-231-1/+1
| | | | | | | The Blackfin port hasn't been compiling cleanly, so this typo was missed in the byteswap unification commit. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: fix incorrect attribute orderMike Frysinger2009-07-231-1/+1
| | | | | | | | | | | | | | | | | The order of attributes in a function definition matters and in a few places in the Blackfin code, it was being applied to the return type instead of the function itself. In file included from ldso/ldso/ldso.c:43: ldso/ldso/bfin/elfinterp.c: At top level: ldso/ldso/bfin/elfinterp.c:42: warning: '__visibility__' attribute ignored on non-class types In file included from ldso/ldso/bfin/elfinterp.c:341, from ldso/ldso/ldso.c:43: libc/sysdeps/linux/bfin/crtreloc.c: At top level: libc/sysdeps/linux/bfin/crtreloc.c:91: warning: 'visibility' attribute ignored on non-class types Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* create real common vfork() functionMike Frysinger2009-07-233-28/+14
| | | | | | | | | Rather than force people to always implement their own vfork(), have the default implementation be sane. For now, only the Blackfin port uses the new code. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: no need to load P5 for shared FLATJie Zhang2009-07-221-1/+0
| | | | | | | The register is already loaded for us upon entry by the kernel. Signed-off-by: Jie Zhang <jie.zhang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: fix generation of Scrt1.o for FDPICJie Zhang2009-07-221-1/+1
| | | | | Signed-off-by: Jie Zhang <jie.zhang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Blackfin: unify FDPIC/FLAT versions of cloneMike Frysinger2009-07-221-22/+8
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* add hidden aliases for openat funcsMike Frysinger2009-07-222-0/+14
| | | | | | openat64() uses openat(), so we need hidden aliases for it. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* byteswap: unify common definitionsMike Frysinger2009-07-2110-632/+242
| | | | | | | | | The majority of the byteswap functions are the same across all arches, so setup a common header to provide definitions if they don't exist. This allows arches to override only the ones they actually want to implement with inline assembly. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* s/UCLIBC_INTERNAL/_LIBC/gDenys Vlasenko2009-07-212-3/+3
| | | | | | | | | | Undo my old mistake. I added UCLIBC_INTERNAL define, but later I realized _LIBC is doing exactly the same thing. This change converts all usages of UCLIBC_INTERNAL to _LIBC, removing all instances of UCLIBC_INTERNAL. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* It fixes the following warnings seen on mips build.Khem Raj2009-07-203-8/+20
| | | | | | | | | | | libc/sysdeps/linux/mips/clone.S: Assembler messages: libc/sysdeps/linux/mips/clone.S:122: Warning: No .frame pseudo-op used in PIC code libc/sysdeps/linux/mips/clone.S:75: Warning: Pretending global symbol used as branch target is local. libc/sysdeps/linux/mips/crt1.S: Assembler messages: libc/sysdeps/linux/mips/crt1.S:134: Warning: No .cprestore pseudo-op used in PIC code Signed-off-by: Khem Raj <raj.khem@gmail.com>
* avr32/microblaze/vax: punt local byteswap.hMike Frysinger2009-07-203-175/+0
| | | | | | | These arches are generic C implementations of the byteswap functions, so rather than keep a useless local copy, use the common C one. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* syscall: convert cris/hppa to common syscallsMike Frysinger2009-07-203-140/+19
| | | | | | | The cris/hppa code appears to be easy to convert, so go ahead and do it for them. Build tested only. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* some ports define ENOTSUPMike Frysinger2009-07-201-1/+3
| | | | | | | A port or two (like hppa) does define ENOTSUP, so don't assume that everyone needs this fallback define. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* INLINE_SYSCALL_NCS: scope out local vars to avoid conflictsMike Frysinger2009-07-201-6/+6
| | | | | | | | | | | The INLINE_SYSCALL_NCS() macro was using "res" and "err" as local variable names, but this caused conflicts with some code (like clock_getres) whose arguments were named the same. libc/sysdeps/linux/common/clock_getres.c: In function 'clock_getres': libc/sysdeps/linux/common/clock_getres.c:15: warning: 'res' is used uninitialized in this function Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* alpha: fix building with no asm/elf.hMike Frysinger2009-07-201-1/+14
| | | | | | | The latest sanitized linux kernel headers no longer export asm/elf.h, so do not rely on it anymore. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* fdatasync: handle latest alpha syscallsMike Frysinger2009-07-201-1/+1
| | | | | | | The latest alpha Linux kernel defines __NR_fdatasync like everyone else and deprecates the older __NR_osf_fdatasync, so support that setup. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* alpha/sigprocmask: fix implicit memset() prototypeMike Frysinger2009-07-201-0/+1
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* first pass at implementing *at funcsMike Frysinger2009-07-2017-0/+321
| | | | | | | Tested basic functionality with coreutils and things seem to work. At least gives us a basis to jump from. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* mknod: convert to INLINE_SYSCALL() to sync with glibcMike Frysinger2009-07-201-12/+6
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* fix typo in frv endian commentMike Frysinger2009-07-201-1/+1
| | | | | Reported-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ppoll: switch to INLINE_SYSCALL() to match glibcMike Frysinger2009-07-201-11/+2
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Fix ARM syscall argument loading.Joseph Myers2009-07-141-14/+21
| | | | | | | | | | | This patch is a uClibc equivalent of <http://sourceware.org/ml/libc-ports/2008-11/msg00006.html>, to compute all syscall arguments on ARM in temporary variables before loading them into register variables. The principle is as for that glibc patch; the problem I actually observed was a GCC internal compiler error building ld.so for Thumb-2. Signed-off-by: Joseph Myers <joseph@codesourcery.com>
* syscall(): create a common version based on INLINE_SYSCALL_NCS()Mike Frysinger2009-07-095-78/+14
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* syscall: unify part 2: NCS varietyMike Frysinger2009-07-0914-78/+40
| | | | | | | Declare common NCS (non-constant syscall) variants and convert the existing ports over to this. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* sh: Change __HAVE_SHARED__ to __PIC__Peter Griffin2009-07-093-5/+5
| | | | | | | | Generate PIC relocations when __PIC__ is defined rather than __HAVE_SHARED__ (like other architectures). Signed-off-by: Peter Griffin <pgriffin@mpc-data.co.uk> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* drop missing {INLINE,INTERNAL}_SYSCALL fallback logicMike Frysinger2009-07-088-102/+0
| | | | | | | Ports missing INLINE_SYSCALL() support need to get fixed, so drop the cruft keeping them alive since it no longer works with the unification. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* syscall: unify common syscall definesMike Frysinger2009-07-0814-1061/+316
| | | | | | | | | 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>
* sparc: Update syscalls.h to define INTERNAL_SYSCALLAustin Foxley2009-07-061-70/+119
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* Avoid warnings about shifting more bits than we haveRon2009-07-051-2/+4
| | | | | | | | | The test here is a constant expression and will compile out. For platforms that don't need the shift the code gets slightly smaller and simpler, for those that do the result is unchanged. Signed-off-by: Ron Lee <ron@debian.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Provide token prototypes for functions that are external but have no headerRon2009-07-0510-28/+24
| | | | | | | This cuts down on a lot of noise from gcc-4.4 Signed-off-by: Ron Lee <ron@debian.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* i386: store errno value before using __set_errno()Ingo van Lil2009-07-031-4/+3
| | | | | | | | | | | The __syscall_error() function stores the errno value in the edx register before invoking the __set_errno() macro. When using the pthread library this macro calls thread_self() to determine the errno location, which might clobber the edx register. The errno value must be stored in a "real" variable so the compiler can take care of saving/restoring it if necessary. Signed-off-by: Ingo van Lil <inguin@gmx.de> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* uClibc_arch_features: sync defines between portsMike Frysinger2009-07-0326-3/+206
| | | | | | | Make sure each arch has the same complete list to make comparing between them easier. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* sh: add cacheflush syscall wrapperCarmelo Amoroso2009-07-022-1/+16
| | | | | Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* Fix Thumb-2 setjmp.Joseph Myers2009-06-301-1/+1
| | | | | | | | Many Thumb-2 instructions cannot use sp or pc as operands, and the assembler now diagnoses these. setjmp had one such instruction, movs; this patch changes it to mov. Signed-off-by: Joseph Myers <joseph@codesourcery.com>
* Add missing CLIBABI variables __aeabi_stdin, __aeabi_stdout, __aeabi_stderr.Joseph Myers2009-06-281-0/+15
| | | | | | | | | | | The ARM EABI has a document CLIBABI specifying various __aeabi_* functions and variables to be provided for the use of portable objects that can be linked with different EABI-conforming C libraries. __aeabi_stdin, __aeabi_stdout and __aeabi_stderr were missing in uClibc; this patch (originally from Nathan Froyd and for glibc) adds them. Signed-off-by: Joseph Myers <joseph@codesourcery.com>