summaryrefslogtreecommitdiffstats
path: root/libc
Commit message (Collapse)AuthorAgeFilesLines
* Add eventfd support.Jean-Christian de Rivaz2011-12-233-1/+68
| | | | | | | | | | | | | Hello, I whould like to share this simple patch that add the eventfd call to uClibc. Please review so it can be accepted to be merged. Jean-Christian Signed-off-by: Jean-Christian de Rivaz <jc@eclis.ch> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com> (cherry picked from commit 9ed163dc0eaebe8734c35b356c406e9eb1c68d76)
* Fix __libc_epoll_pwait compile failure on x86Phil Blundell2011-12-231-2/+3
| | | | | | | | | | | | | | | This prevents "memory input 7 is not directly addressable" errors. | libc/sysdeps/linux/common/epoll.c: In function '__libc_epoll_pwait': | libc/sysdeps/linux/common/epoll.c:71:80: error: memory input 7 is not directly addressable | libc/sysdeps/linux/common/epoll.c:75:86: error: memory input 7 is not directly addressable | make: *** [libc/sysdeps/linux/common/epoll.o] Error 1 | make: *** Waiting for unfinished jobs.... Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Jason Woodward <jason.woodward@timesys.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> (cherry picked from commit 8245f3b4638fdff2011c2657af1bb211def704bc)
* libc/x86: fix stack unwinding and backtrace informationTimo Teräs2011-12-233-75/+28
| | | | | | | | | | | | | | | | | | | | | | | When compiled without framepointer, the DWARF-2 CFI data is required for proper stack unwinding. This patch adds the CFI information to: * syscalls (so we get proper backtrace even for release builds) the ebx hack was removed as it would complicate the CFI generation * new thread stub function (so the backtrace is clean for user created threads) Also pads the signal return trampolines separate from other functions. If CFI info was found for signal return code (which seems to happen if it's located right next a valid function), it will not be recognized as signal trampoline (gcc unwinder and gdb check first CFI info, and only if it does not exists it compares the exact opcode sequence to see if we are at signal return code block). This fixes a real crash if thread is cancelled and the cancellation handler fails to detect the signal return frame. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
* getaddrinfo: allow numeric service without any hintsNatanael Copa2011-12-231-7/+0
| | | | | | | | | | | | | | This appears to correspond to what glibc does and this fixes an issue with iptables-1.4.11 with udp and raw port numbers. (see http://bugzilla.netfilter.org/show_bug.cgi?id=721) This fixes #3841 https://bugs.busybox.net/show_bug.cgi?id=3841 Signed-off-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> (cherry picked from commit bc3be18145e4d57e7268506f123c0f0f373a15e2)
* time: fix parsing of tzdata files where off_t is 64-bitWilliam Pitcock2011-12-231-1/+1
| | | | | | | | | | lseek takes off_t as the offset type, but gcc will normally pass a 32-bit value unless the number is wider than 16 bits. so we force gcc to pass the constant as off_t type always by casting the constant to off_t. Signed-off-by: William Pitcock <nenolod@dereferenced.org> Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
* malloc-standard: synchronize on forkTimo Teräs2011-12-231-0/+17
| | | | | | | | Otherwise other threads can leave malloc state locked, and the child will hang indefinitely if it tries to malloc something. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
* ldso: support RTLD_NOLOADTimo Teräs2011-12-231-2/+2
| | | | | | | | So application query if specified modile is loaded or not with dlopen. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
* stdlib: fix arc4random return type to u_int32_tTimo Teräs2011-12-231-1/+2
| | | | | | | | | | | | | It's documented to be u_int32_t and not uint32_t: http://www.manpagez.com/man/3/arc4random/ This also fixes a major bug that stdlib.h includes stdint.h. Things might go very wrong because stdint.h has conditional defines and if stdlib.h is included before #define's for stdint.h we end up missing things and breaking builds (e.g. openjdk). Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
* resolv: fix resolver to return TRY_AGAIN on timeoutTimo Teräs2011-12-231-46/+49
| | | | | | | | | | | | | | | | | | | | | This fixes the internal __dns_lookup to get a h_errno pointer so it works nicely with the _r variants. Additionally the function is modified to permanent error if the static buffer lengths are not enough. And finally it fixed to return TRY_AGAIN if the nameservers timeout. res_search is fixed to continue searching if we receive TRY_AGAIN. It could be a problem with the specific search domain's server and not necessarily a problem in the recursive resolver we are querying. For same reason, it does not make sense to differentiate timeout or SERVFAIL error reply. The biggest issue this fixes is that we now properly set h_errno to TRY_AGAIN if upstream nameserver(s) timed out. Previously we would have returned NETDB_INTERNAL. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
* resolv: fix memory leakBernhard Reutner-Fischer2011-12-231-0/+2
| | | | | | | | | Timothy Holdener writes: small memory leak in __dns_lookup() when the A record in the DNS answer is preceded by one or more CNAME records. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> (cherry picked from commit bb8d500a75a3050fe3198773ce7b07f669fe8f13)
* resolv: res_query for CNAMEsTimo Teräs2011-12-231-5/+3
| | | | | | | | | | | | | From: http://lists.busybox.net/pipermail/uclibc/2009-June/042583.html I had postfix failing for domains with MX->CNAME->A chain. In glibc it works. I tracked it to be a problem in uclibc res_query. It returns bogus data for CNAME entries, apparently intentionally, which is wrong. glibc return CNAME entries even for CNAME queries and most applications rely on this. So we should do the same in uclibc. Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
* Compatible stack protector for non Thread Local storageNatanael Copa2011-12-231-7/+1
| | | | | | | Before we had thread local storage the __stack_chk_guard was a global variable that was referenced to by the older binaries. We since then have changed ABI so this patch can probably go away.
* libc: make common longjmp usable with NPTLFilippo Arcidiacono2011-05-271-2/+2
| | | | | | | | Call _longjmp_unwind conditionally under NPTL config option, making longjmp usable with NPTL. Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* sh: use the common implementation for longjmpFilippo Arcidiacono2011-05-273-62/+2
| | | | | Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* sh: fix build in !NPTL caseFilippo Arcidiacono2011-05-272-1/+5
| | | | | | | | | Fix build issue due to missing symbols in !NPTL case: - vfork - _longjmp_unwind Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* unwind.h: Move to libc/sysdeps from nptl sysdepsKhem Raj2011-05-132-0/+499
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* epoll: redo cancellation to match masterBernhard Reutner-Fischer2011-05-131-15/+32
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* epoll.c: add cancellation to epoll_[p]wait()Peter S. Mazinger2011-05-131-4/+21
| | | | | | | While there, fix epoll_pwait syscall, it takes 6 arguments Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* wordexp: fix mishandled return value of pipe callBernhard Reutner-Fischer2011-05-121-7/+18
| | | | | | and use pipe2 if available while at it. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* linux_specific: handle accept4 and pipe2Bernhard Reutner-Fischer2011-05-121-2/+1
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* NPTL: needs madvise internallyBernhard Reutner-Fischer2011-05-121-4/+3
| | | | | | | This fixes 8d09a50a044638fde2ed3e1a1c4d3c7c5a3cce5c since NPTL also uses madvise internally. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* socket: fix stubsBernhard Reutner-Fischer2011-05-121-19/+19
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* epoll: unify epoll.hBernhard Reutner-Fischer2011-05-112-146/+24
|
* commentary typo fixBernhard Reutner-Fischer2011-05-111-3/+3
| | | | | | use cancellation (with two 'l') uniformly. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* Implement epoll_create1 and epoll_pwait system calls.Thierry Reding2011-05-113-5/+87
| | | | | | | Note: TODO: This lacks cancellation support. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* add pipe2()Bernhard Reutner-Fischer2011-05-114-1/+39
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* socketcalls: add stubsBernhard Reutner-Fischer2011-05-111-0/+94
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* accept4: Implement cancellationBernhard Reutner-Fischer2011-05-116-19/+68
| | | | | | | .. and add proper prototype, move it into it's own obj and other such cleanups. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* Implement accept4 system call.Thierry Reding2011-05-112-0/+19
| | | | | Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* getcwd: Fix memory-leak in error pathBernhard Reutner-Fischer2011-05-101-1/+2
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* __uc_malloc: Fix memory-leak in error pathBernhard Reutner-Fischer2011-05-101-0/+1
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* */crtn.S: Remove .size directive for _init and _finiBernhard Reutner-Fischer2011-05-1014-28/+0
| | | | | | | | | These are split across objects so setting size does not (and never did) work since the expression cannot be computed at assembly time. This avoids errors from recent (> 2.21) gas. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* posix_fadvise64: fix x86 implementationTimo Teräs2011-05-071-1/+3
| | | | | | | | | | | | | Commit 73d59554144f429b1cf0d4d7fa7de42bdf59ad92 completely broke the x86 implementation of posix_fadvise64. It moved the first the assembly code retn instruction gets missing depending on the Technically the file has two implementaions for posix_fadvise64, one when __NR_fadvise64_64 is available, and second one if only __NR_fadvise64 is there. Fix the #ifdef's to be proper for that. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* i386: fix .size of _init/_finiBernhard Reutner-Fischer2011-05-051-2/+2
| | | | | | | binutils-2.21 barf on .size that do not evaluate to const, so use the section size and not a function that is not visible here. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* x86_64: fix .size of _init/_finiBernhard Reutner-Fischer2011-05-051-2/+2
| | | | | | | binutils-2.21 barf on .size that do not evaluate to const, so use the section size and not a function that is not visible here. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* Revert "*/crt?.S: remove .size directives"Bernhard Reutner-Fischer2011-05-0524-0/+39
| | | | | | Removing them generally was not a good idea This reverts commit 233c504cd940d9802226b6a3a092368b86978f5e.
* */crt?.S: remove .size directivesBernhard Reutner-Fischer2011-05-0424-39/+0
| | | | | | sed -i -e '/\.size[[:space:]]/d' $(grep -l "\.size" libc/sysdeps/linux/*/crt*.[sSc]) Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* getaddrinfo.c: fix incorrect check for ERANGE from gethostbyaddr_rDenys Vlasenko2011-05-031-2/+2
| | | | | | | Also, freeaddrinfo(NULL) is ok, no need to check parameted for NULL before calling it. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* getaddrinfo.c: improve code readability. No functional changesDenys Vlasenko2011-05-031-26/+30
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* string: remove unused variableBernhard Reutner-Fischer2011-05-031-3/+1
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* buildsys: prettify ssp.c handlingBernhard Reutner-Fischer2011-05-031-4/+1
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* madvise is LINUX_SPECIFICBernhard Reutner-Fischer2011-05-031-1/+1
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* ether_aton: reject invalid inputBernhard Reutner-Fischer2011-05-021-2/+4
| | | | | | fixes PR2227 Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* sysconf: clock_getres depends on HAS_REALTIMEBernhard Reutner-Fischer2011-04-291-3/+2
| | | | | | Bug was introduced in revision a202cf6f. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* __rt_sigwaitinfo: depends on HAS_REALTIMEBernhard Reutner-Fischer2011-04-291-1/+1
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* buildsys: minor fixes in Makefile.arch for C6XCarmelo Amoroso2011-04-271-5/+0
| | | | | | Just a tidy-up by removing commented-out lines. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* buildsys: minor fixes in Makefile.arch for microblazeCarmelo Amoroso2011-04-271-2/+0
| | | | | | | Do not include Makefile.commonarch directly from within arch specific Makefile, as it is already done in parent Maefile.in. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* sparc: don't access fp registers when configured for no fpuAustin Foxley2011-04-221-0/+2
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* Added fts support for traversing UNIX file hierarchies.Salvatore Cro2011-04-204-0/+1183
| | | | | | | It is required by libdwfl in elfutils package. Signed-off-by: Salvatore Cro <salvatore.cro at st.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* buildsys: do_rm ARCH_HEADERSBernhard Reutner-Fischer2011-04-141-1/+1
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>