summaryrefslogtreecommitdiffstats
path: root/libc
Commit message (Collapse)AuthorAgeFilesLines
...
* libc/string/i386/string.h: fix -O0 build failureDenys Vlasenko2009-07-211-0/+22
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* It fixes the following warnings seen on mips build.Khem Raj2009-07-203-8/+20
| | | | | | | | | | | libc/sysdeps/linux/mips/clone.S: Assembler messages: libc/sysdeps/linux/mips/clone.S:122: Warning: No .frame pseudo-op used in PIC code libc/sysdeps/linux/mips/clone.S:75: Warning: Pretending global symbol used as branch target is local. libc/sysdeps/linux/mips/crt1.S: Assembler messages: libc/sysdeps/linux/mips/crt1.S:134: Warning: No .cprestore pseudo-op used in PIC code Signed-off-by: Khem Raj <raj.khem@gmail.com>
* avr32/microblaze/vax: punt local byteswap.hMike Frysinger2009-07-203-175/+0
| | | | | | | These arches are generic C implementations of the byteswap functions, so rather than keep a useless local copy, use the common C one. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* syscall: convert cris/hppa to common syscallsMike Frysinger2009-07-203-140/+19
| | | | | | | The cris/hppa code appears to be easy to convert, so go ahead and do it for them. Build tested only. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* 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>
* fix building for systems w/out ldso supportMike Frysinger2009-07-201-1/+3
| | | | | | | If an arch (like alpha and others) have no ldso support at all, then there is no point in attempting to walk loaded modules in the dl-* helper funcs. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* alpha: fix building with no asm/elf.hMike Frysinger2009-07-201-1/+14
| | | | | | | The latest sanitized linux kernel headers no longer export asm/elf.h, so do not rely on it anymore. 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>
* alpha/sigprocmask: fix implicit memset() prototypeMike Frysinger2009-07-201-0/+1
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* first pass at implementing *at funcsMike Frysinger2009-07-2018-19/+370
| | | | | | | 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>
* dirent: push dirent type to prototypesMike Frysinger2009-07-206-32/+12
| | | | | | | | | | This syncs the dirent related functions with the glibc behavior -- rather than take void pointers everywhere, make the struct dirent pointers explicit in the API. After all, the functions themselves will cast the pointers to a dirent structure, so if it isn't as expected, people will crash. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* regex: convert #if to #ifdefMike Frysinger2009-07-202-2/+2
| | | | | | Avoid gcc warnings about #if statements with defines that aren't defined. 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>
* fix typo in frv endian commentMike Frysinger2009-07-201-1/+1
| | | | | Reported-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* relocate i386 string.h to i386-specific dirMike Frysinger2009-07-201-0/+316
| | | | 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>
* add hidden aliases for older regex search functionsMike Frysinger2009-07-201-0/+2
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Fix ARM syscall argument loading.Joseph Myers2009-07-141-14/+21
| | | | | | | | | | | This patch is a uClibc equivalent of <http://sourceware.org/ml/libc-ports/2008-11/msg00006.html>, to compute all syscall arguments on ARM in temporary variables before loading them into register variables. The principle is as for that glibc patch; the problem I actually observed was a GCC internal compiler error building ld.so for Thumb-2. Signed-off-by: Joseph Myers <joseph@codesourcery.com>
* sh: Fix up optimized SH-4 memcpy on big endian.Giuseppe Cavallaro2009-07-141-12/+12
| | | | | | | | | | Signed-off-by: Hideo Saito <saito@densan.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> See Linux Kernel commit: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e08b954c9a140f2062649faec72514eb505f18c3 Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* syscall(): create a common version based on INLINE_SYSCALL_NCS()Mike Frysinger2009-07-095-78/+14
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* syscall: unify part 2: NCS varietyMike Frysinger2009-07-0914-78/+40
| | | | | | | Declare common NCS (non-constant syscall) variants and convert the existing ports over to this. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* sh: Change __HAVE_SHARED__ to __PIC__Peter Griffin2009-07-093-5/+5
| | | | | | | | Generate PIC relocations when __PIC__ is defined rather than __HAVE_SHARED__ (like other architectures). Signed-off-by: Peter Griffin <pgriffin@mpc-data.co.uk> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* 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-0814-1061/+316
| | | | | | | | | 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>
* sparc: Update syscalls.h to define INTERNAL_SYSCALLAustin Foxley2009-07-061-70/+119
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* Avoid type-punned pointers that break strict-aliasingRon2009-07-051-3/+6
| | | | | Signed-off-by: Ron Lee <ron@debian.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Avoid warnings about shifting more bits than we haveRon2009-07-051-2/+4
| | | | | | | | | The test here is a constant expression and will compile out. For platforms that don't need the shift the code gets slightly smaller and simpler, for those that do the result is unchanged. Signed-off-by: Ron Lee <ron@debian.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Check #if feature test macros are defined where they may not beRon2009-07-051-1/+1
| | | | | | | | | Once again all of these reduce the noise from gcc-4.4. Replaces a few more (USE_TLS && HAVE___THREAD) with USE___THREAD while we need to mess with them for this anyhow. Signed-off-by: Ron Lee <ron@debian.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Provide token prototypes for functions that are external but have no headerRon2009-07-0511-31/+26
| | | | | | | This cuts down on a lot of noise from gcc-4.4 Signed-off-by: Ron Lee <ron@debian.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* i386: store errno value before using __set_errno()Ingo van Lil2009-07-031-4/+3
| | | | | | | | | | | The __syscall_error() function stores the errno value in the edx register before invoking the __set_errno() macro. When using the pthread library this macro calls thread_self() to determine the errno location, which might clobber the edx register. The errno value must be stored in a "real" variable so the compiler can take care of saving/restoring it if necessary. Signed-off-by: Ingo van Lil <inguin@gmx.de> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* uClibc_arch_features: sync defines between portsMike Frysinger2009-07-0326-3/+206
| | | | | | | Make sure each arch has the same complete list to make comparing between them easier. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* sh: add cacheflush syscall wrapperCarmelo Amoroso2009-07-022-1/+16
| | | | | Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* Correct ARM memcpy comments.Joseph Myers2009-07-011-1/+2
| | | | | | | | The comments on register usage in ARM memcpy had dest and src the wrong way round; this patch (originally from Mark Shinwell) corrects this and adds a note on the return value. Signed-off-by: Joseph Myers <joseph@codesourcery.com>
* Fix Thumb-2 setjmp.Joseph Myers2009-06-301-1/+1
| | | | | | | | Many Thumb-2 instructions cannot use sp or pc as operands, and the assembler now diagnoses these. setjmp had one such instruction, movs; this patch changes it to mov. Signed-off-by: Joseph Myers <joseph@codesourcery.com>
* Fix Thumb-2 memcpy.Joseph Myers2009-06-301-1/+1
| | | | | | | | | When an IT block was changed from having two instructions to having one, the IT instruction at the start of the block was not updated, causing memcpy to fail to assemble for Thumb-2; this patch makes the obvious fix. Signed-off-by: Joseph Myers <joseph@codesourcery.com>
* Add missing CLIBABI variables __aeabi_stdin, __aeabi_stdout, __aeabi_stderr.Joseph Myers2009-06-281-0/+15
| | | | | | | | | | | The ARM EABI has a document CLIBABI specifying various __aeabi_* functions and variables to be provided for the use of portable objects that can be linked with different EABI-conforming C libraries. __aeabi_stdin, __aeabi_stdout and __aeabi_stderr were missing in uClibc; this patch (originally from Nathan Froyd and for glibc) adds them. Signed-off-by: Joseph Myers <joseph@codesourcery.com>
* wchar: fix inverted parameters in error messageAndré Goddard Rosa2009-06-281-1/+1
| | | | | | | | | | The error message should output "fromcode -> tocode" rather than "tocode -> fromcode". Seems to be a typo due to the order of the func called: iconv_t iconv_open(const char *tocode, const char *fromcode); Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* libc.so: include all output formats in linker scriptSteve Bennett2009-06-281-2/+2
| | | | | | | | | | Rather than ripping out the default output format from the linker, include the big/little endian alternatives for the people who link with bi-endian toolchains. URL: http://lists.uclibc.org/pipermail/uclibc/2009-June/042595.html Signed-off-by: Steve Bennett <steveb@workware.net.au> 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>
* Add working pipe implementation for sparcAustin Foxley2009-05-263-3/+69
| | | | | | Also get rid of warning in sparc sigaction Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* Add a sigaction implementation for sparcAustin Foxley2009-05-202-1/+95
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* Add position independent code for crt1.S.Carmelo Amoroso2009-05-051-0/+45
| | | | | | | | | This will generate a Scrt1.o that is linked to executabled when compiled as PIE code (position independent executable) without requiring relocation in .text section (not allowed on uclibc/sh4). Signed-off-by: Peter Griffin <pgriffin@mpc-data.co.uk> Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
* libc/string/i386/memset.c: memset 1 byte at a time is a bit grossDenis Vlasenko2009-04-231-9/+56
|
* libc/inet/resolv.c:Denis Vlasenko2009-04-182-278/+467
| | | | | | | | | | | | | | | | Collapse __length_dotted into __length_question (the sole user of it). Make __length_question and __decode_answer static, they are used only once by only one function. Delete __decode_question, it is unused. All in all, four less .o files in libc.a. Document what __dns_lookup returns (length of the packet). Propagate packet len into __decode_answer, __length_question, __decode_dotted and check that we do not use data past the end of the packet. Rename some variables/parameters to better names (len -> packet_len, data -> packet etc). Add mini-doc how DNS packets look like. Style cleanup.
* make sure to block all signals when calling daemon() to prevent delivery ↵Mike Frysinger2009-04-131-1/+13
| | | | while the parent is sharing the stack
* implement daemon() using clone() on no-mmu systems as suggested by Jamie LokierMike Frysinger2009-04-072-15/+26
|
* 32/64 bit sparc got unified in 2.6.29 the way x86/x86_64 did in 2.6.28.Rob Landley2009-03-271-1/+2
| | | | The new guard symbol is "__SPARC_POSIX_TYPES_H".
* - Add strtouq alias (to strtoul) for 64bitBernhard Reutner-Fischer2009-03-251-0/+3
| | | | | | | | The strtouq alias was only available on 32bit, breaking compilation of stuff using strtouq on 64bit machines. At the same time use the correct return type (u_quad_t). Signed-of-by: Peter Korsgaard <jacmet@sunsite.dk>
* enable mprotect() regardless of MMU as some systems have MPUs which allows ↵Mike Frysinger2009-03-161-1/+1
| | | | memory protection