summaryrefslogtreecommitdiff
path: root/libc
AgeCommit message (Collapse)Author
2009-12-19malloc: fix race condition and other bugs in the no-mmu mallocFreeman Wang
Fixes multiple race conditions on mmb list. This was done by making the mmb_heap_lock into a recursive lock and making the regular heap_lock extend to cover the mmb heap handling. Also move the new_mmb allocation up to before the mmb list is iterated through to find the insertion point. When the mmb_heap also runs out and needs to be extended when the regular heap is just extended, the mmb list could be messed up. Signed-off-by: Freeman Wang <xwang@ubicom.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.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-17check if USE_TLS is defined before useHans-Christian Egtvedt
This patch will convert all the #ifdef USE_TLS and #if USE_TLS to #if defined(USE_TLS) && USE_TLS. By checking if the USE_TLS is defined before checking its value will result in correct behavior for architectures not defining this config symbol. Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> Acked-by: Carmelo AMOROSO <carmelo.amoroso@st.com>
2009-12-16libc: Remove pointless header string.hCarmelo Amoroso
It is already include from the internal header sigset-cvt-mask.h Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2009-12-16libc: Add missing header for memsetCarmelo Amoroso
Silence compiler warning by adding the missing string.h header to include memset prototype. Do some code tidy-up removing commented out libc_hidden_proto macros in the meanwhile. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.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-14sh: fix endianess and optimise the SH4 memcpyGiuseppe Cavallaro
This patch fixes the big-endian code and adds a new optimization only for little endian mode. This optimization is based on prefetching and 64bit data transfer via FPU. Tests shows that ---------------------------------------- Memory bandwidth | Gain | sh4-300 | sh4-200 ---------------------------------------- 512 bytes to 16KiB | ~20% | ~25% from 32KiB to 16MiB | ~190% | ~5% ---------------------------------------- Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2009-12-13syslog: use send(MSG_NOSIGNAL) instead of write, thus no need to handle SIGPIPEDenys Vlasenko
Size changes by this and previous change: text data bss dec hex filename 1151 13 2 1166 48e libc/misc/syslog/syslog.o 1093 10 2 1105 451 libc/misc/syslog/syslog.o 1047 10 2 1059 423 libc/misc/syslog/syslog.o Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-13syslog: fix openlog(xx, LOG_KERN) and optimize a bitDenys Vlasenko
The fix: logfac == 0 in openlog(xx, logfac) is allowed now. Corresponding internal openlog() call in vsyslog() uses explicit LOG_USER in order to set it as a default facility. Optimizations: mylock is not recursive now, since a single intenal call of openlog is converted to a call to openlog_internal which assumes that lock is already taken. No recursive locking is possible now. LogFacility is reduced to byte. cache static LogFile in auto variable fd (smaller code). vsyslog with bogus pri parameter wouldn't lock/unlock and mess with signals - it will just return at once. pass NULL as ident string in internal openlog call - same effect as passing LogTag but smaller code. comment out "if (LogTag)" checks - it is never NULL. use the same struct sigaction for setting new sigaction and for saving old one - saves ~32 bytes of stack. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-11Include bits/libc-lock.h to get __libc_once_defineKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Acked-by: Austin Foxley <austinf@cetoncorp.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-20__assert: include unistd.h for smallintBernhard 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-19msgrcv is of type ssize_tPeter 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-19assert: make linenumber unsignedPeter S. Mazinger
Move attribute_noreturn to header. 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-11-14realpath: SUSv4 compliantBernhard Reutner-Fischer
Signed-off-by: Mike Frysinger <vapier@gentoo.org> 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-22regex: call memcpy() ourselvesMike Frysinger
Call the hidden memcpy() ourselves otherwise gcc will emit a call to the public memcpy() which goes through the PLT. 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-22inet_ntop4: avoid inline initializationMike Frysinger
We only need to set the first byte to 0, but gcc likes to zero out the rest of the string with memset() when using this initialization style. 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-17mktemp does not depend on floatsAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2009-10-15malloc: handle size overflows in realloc()Mike Frysinger
The malloc() code checks the incoming size to make sure the header adjustment doesn't cause overflow in the size storage. Add the same check to realloc() to catch stupid stuff like realloc(..., -1). Reported-by: James Coleman <james.coleman@ubicom.com> 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-14check stat("/etc/resolv.conf") for errorsDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-13libc/inet/resolv.c: reread resolv.conf if its mtime was changedBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-10drop __BCC__ cruft from string codeMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
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-08ftw() is obsolescent in SUSv4Bernhard Reutner-Fischer
Apps should switch to nftw() Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-10-08link-time warning for obsolescent/removed network funcsBernhard Reutner-Fischer
Signed-off-by: aldot <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>