summaryrefslogtreecommitdiffstats
path: root/libc
Commit message (Collapse)AuthorAgeFilesLines
* malloc: handle size overflows in realloc()Mike Frysinger2009-10-161-0/+3
| | | | | | | | | | 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> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* sparc qops: unify & shrinkMike Frysinger2009-10-161-51/+40
| | | | | | | | | | 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> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* fcntl.h: drop unused/dead O_STREAMINGMike Frysinger2009-10-1610-10/+0
| | | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* sparc: add stubs for more of the _Q* opsAustin Foxley2009-10-161-0/+12
| | | | | | Thanks to Jason Woodward <jason.woodward@timesys.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* descriptive error messageBernhard Reutner-Fischer2009-10-161-1/+1
| | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* sh: Align sh clone implementation with glibcCarmelo Amoroso2009-10-101-8/+7
| | | | | | | | | Align sh clone implementation with glibc one that incorporated time ago a patch provided by me slightly modified. The glibc code indeed avoids to load the r3 register if the 2nd function argument is NULL (r5). No functional change. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* sh4: Reorder code in memmove.cCarmelo Amoroso2009-10-101-32/+30
| | | | | | | Remove forward declaration for service routine. Reorder code and keep hidden_def right after the respective function. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* Fix building arm EABIBernhard Reutner-Fischer2009-10-082-1/+2
| | | | | | | | | | | | | | | 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> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* mips nptl: Cleanup up _ABI64 warningsAustin Foxley2009-09-271-0/+2
| | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com> Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
* sh: Add new optimisation to the SH4 memcpyGiuseppe Cavallaro2009-09-271-2/+107
| | | | | | | | | | | | | | | | | | This optimization is based on prefetching and 64bit data transfer via FPU (only for the little endianess) 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>
* sh: add assembly strcpy and strncpyGiuseppe Cavallaro2009-09-272-0/+71
| | | | | | | | | | | | | | | | | This patch adds the strcpy and strncpy assembly routines. Benchmarks showed the following gains: ~7% for strcpy ~30% for strncpy Note: uClibc string tests pass without any failures. These functions have been only tested on SH4, for this reason I've voluntarily added them within the sh4 sub-folder. If somebody would like to test them on other SH CPUs, these can be moved on sh common folder. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* sh: add assembly strlen from KernelGiuseppe Cavallaro2009-09-271-0/+75
| | | | | | | | Faster assembly implementation of strlen taken from Linux kernel. Adapted to uClibc. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* sh: add assembly memchr from KernelGiuseppe Cavallaro2009-09-271-0/+30
| | | | | | | | Faster assembly implementation of memchr taken from Linux kernel. Adapted to uClibc. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* sh: add a new memmove optimised for SH4Giuseppe Cavallaro2009-09-271-0/+119
| | | | | | | | | | | | | | | This patch adds the memmove fuction for SH4. By default, it used the generic implementation. This new code uses the memcpy for BWD copies and implements FWD copy when required (see comment within the code itself). The idea behind is to get advantage of using the optimised memcpy for SH4 and use the FPU for FWD copies (for big sizes) as well. LMBench bw_mem test showed a significant improvement on uClibc because bcopy invokes memmove, directly. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* sh: add assembly memset from Kernel and optimise it for SH4Giuseppe Cavallaro2009-09-271-0/+146
| | | | | | | | | | | This patch adds the SH memset assembly implementation currenlty included into the Kernel. It also adds, only for little endian mode, the 64bit data transfer via FPU (using single paired precision mode). Tests shows that on SH4-300 we gain ~100% for size greater than 1KiB. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* build C files within arch subfolders.Giuseppe Cavallaro2009-09-271-1/+4
| | | | | Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* Revert part of ecd7069ac6Austin Foxley2009-09-251-0/+2
| | | | | | This seemingly harmless warning fix causes mutex use in libc to crash... Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* sparc specific bits/socket.hAustin Foxley2009-09-251-0/+356
| | | | | | | use socketcall for sparc32 since it does not have the individual socket syscalls Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* use correct define to guard non tls errnoAustin Foxley2009-09-232-17/+1
| | | | | | also cleanup errno.c to match master tls patch Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* tls: test for DTV vs TCB at TP correctlyAustin Foxley2009-09-231-2/+2
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* spent this morning beating i386 nptl into shapeAustin Foxley2009-09-228-5/+37
| | | | | | Got it compiling thus far, still working on getting it to run Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* sparc nptl: make sure correct clone.S and pt-vfork.S get in libpthreadAustin Foxley2009-09-221-2/+2
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.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>
* not-cancel: use *_not_cancel variants directlyAustin Foxley2009-09-219-143/+35
| | | | | | add a no threads version of not-cancel.h to fallback on Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* uClibc_mutex.h: define non-thread versions of all the io-mutex macrosAustin Foxley2009-09-211-5/+12
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* sparc/Makefile.arch: add back missing fork/vfork for non threads caseAustin Foxley2009-09-211-3/+6
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* warning fixesAustin Foxley2009-09-211-2/+0
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* sparc sigaction.c: fix the noted bugs by syncing up with glibcAustin Foxley2009-09-211-30/+16
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* add a __resp ptr for the no threads caseAustin Foxley2009-09-201-0/+1
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* guard sysdep-cancel.h include under defineAustin Foxley2009-09-201-0/+6
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* guard sysdep.h include with correct defineAustin Foxley2009-09-201-1/+1
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* sigwait: remove __sigwait for realtime case as wellAustin Foxley2009-09-181-4/+3
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* sigpause: remove libc_hidden_proto/defDenys Vlasenko2009-09-181-1/+0
| | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* sigwait: remove __sigwait and __GI_sigwait symbols - they are unusedDenys Vlasenko2009-09-181-4/+1
| | | | | | | | | sigwait is not called from any uclibc function, so "hidden symbol" trick is not needed on it. __sigwait also is never used, and it's not clear why it even existed. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* add non realtime sigwait from master and cleanup a bitAustin Foxley2009-09-181-11/+68
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* raise: remove unused hidden weak symbol __raiseDenys Vlasenko2009-09-181-6/+2
| | | | | | | | It is not used by anybody, otherwise users of dynamically linked uclibc would notice - it is not exported from libuClibc-x.x.x.so Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* libc/misc/wctype/_wctype.c: make it more readable. no code changesDenys Vlasenko2009-09-181-211/+183
| | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* remove a few more empty #if/#endif pairsDenys Vlasenko2009-09-1811-36/+8
| | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* convert // comments to /**/; remove empty #if/#endif pairs. no code changesDenys Vlasenko2009-09-1851-217/+64
| | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* trim Experimentally off and uncommented hiddenAustin Foxley2009-09-18476-1831/+7
| | | | | | | | 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: Austin Foxley <austinf@cetoncorp.com>
* fix make {,install_}{,host}utilsBernhard Reutner-Fischer2009-09-181-209/+46
| | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* always define float_t as floatBernhard Reutner-Fischer2009-09-184-80/+4
| | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* sh/user.h: clean up conflicts from kernel user.hAndrew Stubbs2009-09-181-0/+11
| | | | | | | | | | | | | This patch makes sufficient modifications to the SH sys/user.h to be able to build and run gdbserver with Linux kernel 2.6.30. The problem is that both the kernel and library headers define the same symbols, thus making it impossible in include both headers. The patch undefines the kernel symbols in favour of the library symbols. Signed-off-by: Andrew Stubbs <ams@codesourcery.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* daemon: fix up INTERNAL_SYSCALL() usageMike Frysinger2009-09-181-4/+6
| | | | | | | | | | | | Make sure we declare the error properly in case a port uses it, and fix the invocation of exit(). Since clone() will be returning a pid, assume that the value will not have the MSB set (negative) to simplify the error test a bit more. If gcc supports it, force this function to always be heavily optimized in a bid to avoid stack usage as much as possible. Signed-off-by: James Coleman <james.coleman@ubicom.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* sparc/sigaction.c: note possible bugs by comments. style fixesDenys Vlasenko2009-09-181-49/+57
| | | | | | | no code is actually changed Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* strsignal.c: whitespace fixes, no code changes (verified with objdump)Denys Vlasenko2009-09-181-21/+17
| | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* time.c: style cleanup. no code changes (verified with objdump)Denys Vlasenko2009-09-181-89/+37
| | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* simpler and shorter read_TZ_file() helperDenys Vlasenko2009-09-181-10/+23
| | | | | | | | | text data bss dec hex filename - 1109 8 76 1193 4a9 libc/misc/time/tzset.o + 1095 8 76 1179 49b libc/misc/time/tzset.o Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* wordexp.c: cleanup - remove old hidden_proto's; remove unused parameterDenys Vlasenko2009-09-181-42/+3
| | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* wordexp.c: fix a bug where we might close stdoutDenys Vlasenko2009-09-181-5/+8
| | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>