summaryrefslogtreecommitdiffstats
path: root/libc
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* resolv: really fix res_close not to hang with ipv6Bernhard Reutner-Fischer2011-04-131-2/+2
| | | | | | Fix goof in previous commit. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* buildsys: fix GNU make v3.80 compatibility againKevin Cernekee2011-04-131-2/+6
| | | | | | | | GNU make 3.80 cannot handle "$(and)" or "$(or)" from commit 18e7136e (buildsys: use kbuild style). Replace them with ifeq/ifneq. Signed-off-by: Kevin Cernekee <cernekee@gmail.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* resolv: fix res_close not to hang with ipv6Bernhard Reutner-Fischer2011-04-121-1/+1
| | | | | | | Timo Teräs writes: The memory release loop is missing an obvious counter increment. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* Fix malloc alignmentBernd Schmidt2011-04-112-3/+5
| | | | | | | | | | | | | In commit 3e0a1f388, Richard tried to fix malloc alignments by using alignof (double __attribute_aligned__(sizeof (size_t))). This doesn't work, since attribute_aligned overrides the alignment rather than providing a minimum. On C6X, malloc returns four-byte aligned values rather than the necessary eight-byte alignment. It's simpler to use a comparison and pick the bigger of the two values, so that's what I've done. Signed-off-by: Bernd Schmidt <bernds@codesourcery.com>
* cris: add provide arch-specific vfork implementationThorsten Glaser2011-03-262-1/+31
| | | | | | | | | vfork must be called with nothing at all on the stack, so implementing it via syscall() does not work. Signed-off-by: Thorsten Glaser <tg@mirbsd.org> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* lutimes.c, stubs.c: fix compiling lutimes, if __NR_utimensat is not definedPeter S. Mazinger2011-03-192-1/+9
| | | | | | | | while there, provide stubs for functions depending on utimensat syscall. Reported-by: Sedat Dilek <sedat.dilek@googlemail.com> Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* memalign: include sys/param.h for MAXBernhard Reutner-Fischer2011-03-161-2/+1
| | | | | | | | | | | | | libc/stdlib/malloc/memalign.c:22:1: warning: "MAX" redefined In file included from ./libpthread/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h:25, from ./include/bits/libc-lock.h:36, from ./include/bits/stdio-lock.h:23, from ./include/bits/uClibc_mutex.h:71, from libc/stdlib/malloc/malloc.h:135, from libc/stdlib/malloc/memalign.c:18: ./include/sys/param.h:75:1: warning: this is the location of the previous definition Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* arm/bits/atomic.h: Include common/bit/atomic.h for thumb1Khem Raj2011-03-141-0/+5
| | | | | | | This restores the behavior for thumb1 builds and yet uses the new atomic.h for arm and thumb2 modes. Signed-off-by: Khem Raj <raj.khem@gmail.com>