summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/common
Commit message (Collapse)AuthorAgeFilesLines
...
* | cancellation support for a large amount of the required syscallsAustin Foxley2009-10-1719-172/+570
| | | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* | use *_not_cancel variants to avoid accidental cancellations with nptlAustin Foxley2009-10-171-0/+19
| | | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* | rework internal uClibc mutexes to support futex locking, and nptlAustin Foxley2009-10-172-12/+84
| | | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* | some tweaks under libc/ needed for nptlAustin Foxley2009-10-174-15/+506
|/ | | | | | | | | | * updated kernel-features.h * system is provided by pt-system with nptl * _exit should do exit_group with nptl * tsd tls ptr in libc * rt_sigwaitinfo impl added Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* utime() is obsolescent in SUSv4Bernhard Reutner-Fischer2009-10-083-1/+5
| | | | | | LEGACY was removed for utimes() in SUSv4 Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* Fix building arm EABIBernhard Reutner-Fischer2009-10-081-1/+1
| | | | | | | | | | | | | | 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>
* clean up O_CLOEXEC handlingMike Frysinger2009-10-071-0/+8
| | | | | | | 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>
* descriptive error messageBernhard Reutner-Fischer2009-10-051-1/+1
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* add timerfd syscall and headerStephan Raue2009-09-213-1/+93
| | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com> Signed-off-by: Stephan Raue <mailinglists@openelec.tv>
* sigpause: remove libc_hidden_proto/defDenys Vlasenko2009-09-191-2/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* remove a few more empty #if/#endif pairsDenys Vlasenko2009-09-192-7/+0
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* convert // comments to /**/; remove empty #if/#endif pairs. no code changesDenys Vlasenko2009-09-182-8/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* trim Experimentally off and uncommented hiddenBernhard Reutner-Fischer2009-09-1890-151/+1
| | | | | | | | sed -i -e '/Experimentally off - /d' $(grep -rl "Experimentally off - " *) sed -i -e '/^\/\*[[:space:]]*libc_hidden_proto(/d' $(grep -rl "libc_hidden_proto" *) should be a nop Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* fstatat: fix up behavior on 32/64 bit hostsMike Frysinger2009-09-064-2/+32
| | | | | | | | | | | | The fstatat() syscall is a little funky in that it sometimes changes name between 32 and 64 bit hosts, but it should always operate on a 64bit stat structure. So for the fstatat() function, make sure we convert it from a 64bit kstat to a 32bit stat. Along these lines, we need to restore the __xstat32_conv() function. Reported-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* xstatconv: drop useless hidden codeMike Frysinger2009-09-061-4/+2
| | | | | | | The xstatconv.h header already sets up hidden prototypes for us, so no need to duplicate the code. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* drop last _syscall6 checksMike Frysinger2009-08-312-2/+2
| | | | | | If your arch does not support _syscall6(), it is broken anyways. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* honour NO_LONG_DOUBLE_MATHBernhard Reutner-Fischer2009-08-301-0/+6
| | | | | | | | 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>
* 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>
* 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>
* enable nanosecond stat support for everyoneMike Frysinger2009-07-262-18/+8
| | | | | | | | | | | | | 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>
* create real common vfork() functionMike Frysinger2009-07-231-7/+13
| | | | | | | | | 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>
* 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-212-87/+109
| | | | | | | | | 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-211-2/+2
| | | | | | | | | | 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>
* 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>
* 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>
* 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>
* ppoll: switch to INLINE_SYSCALL() to match glibcMike Frysinger2009-07-201-11/+2
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* syscall(): create a common version based on INLINE_SYSCALL_NCS()Mike Frysinger2009-07-091-0/+12
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* syscall: unify part 2: NCS varietyMike Frysinger2009-07-092-3/+17
| | | | | | | Declare common NCS (non-constant syscall) variants and convert the existing ports over to this. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* 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-082-1/+83
| | | | | | | | | 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>
* uClibc_arch_features: sync defines between portsMike Frysinger2009-07-031-0/+6
| | | | | | | Make sure each arch has the same complete list to make comparing between them easier. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* waitid: linux ABI takes 5 args, not 4Mike Frysinger2009-05-271-4/+16
| | | | | | | | The POSIX waitid() takes 4 args, but the Linux one takes 5 args, so make sure we stuff the 5th arg with a NULL. Otherwise garbage gets randomly passed up and considering this is a pointer, that's baaaad. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* enable mprotect() regardless of MMU as some systems have MPUs which allows ↵Mike Frysinger2009-03-161-1/+1
| | | | memory protection
* Update copyright header.Khem Raj2009-03-161-1/+1
|
* add GNU extension for select timeouts where the sub-second field is actually ↵Mike Frysinger2009-03-131-1/+20
| | | | longer than one second
* Define creat in an independent fileKhem Raj2009-03-052-5/+15
|
* mknod: widen the parameters to match kernelDenis Vlasenko2009-03-032-11/+16
| | | | | | | | | ustat: same, + remove superfluous "conversion" which does nothing at best, loses high dev bits at worst i386/bits/kernel_stat.h: update to reflect reality (wider dev_t) h8300/bits/kernel_stat.h: same arm/bits/kernel_stat.h: cosmetics to match kernel header to the letter
* Add EPOLLRDHUP constantDenis Vlasenko2009-03-021-0/+2
|
* fix breakage in x86_64 defconfigDenis Vlasenko2009-02-277-57/+13
|
* Reinstate __libc_foo's needed for linuxthreads.old.Denis Vlasenko2009-02-2515-24/+83
| | | | | Now they are only enabled if linuxthreads.old are selected.
* mathcalls.h: remove tons of redundant semicolons; better comment about macrosDenis Vlasenko2009-02-181-85/+87
| | | | | | | math.h: make macro machinery a bit more understandable No code changes (verified with objdump)
* test/math/compile_test.c: "are long double functions even compile/link?" testDenis Vlasenko2009-02-171-0/+7
| | | | | *: fix everything which prevents above from building
* - repair my r25322 that ment to deal with getdomainname()'s visibilityBernhard Reutner-Fischer2009-02-131-3/+7
|