summaryrefslogtreecommitdiff
path: root/libc
AgeCommit message (Collapse)Author
2012-06-15cleanup bits/setjmp.h of stuff moved to jmpbuf-offsets.h and jmpbuf-unwind.hPeter S. Mazinger
Make sure we use the new jmpbuf-*.h headers While there, adapt the offset on microblaze and the _JMPBUF_UNWINDS macro on bfin, it seems, these were changed in the meantime. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15make use of jmpbuf-offsets.h and jmpbuf-unwind.hPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15jmpbuf-unwind.h: add NTPL related sectionPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15add jmpbuf-offsets.h and jmpbuf-unwind.h for all archs (LT related)Peter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15move *longjmp related prototypes to setjmp.hPeter S. Mazinger
Provide common prototypes for __longjmp, __libc_longjmp, __libc_siglongjmp _longjmp_unwind, __libc_unwind_longjmp in setjmp.h in preparation for use in LT new Add __longjmp to h8300 and i960 Make common longjmp.c good for NPTL Guard _longjmp_unwind use in sh's longjmp.c for NPTL (I think sh could use the common one) Remove unneeded attribute_noreturn, prototype provides it already Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15libintl.h, clnt_perror.c: add fallback gettext(x) and use it for _(x)Peter S. Mazinger
clnt_perror.c: change _(x) to N_(x) to allow compile with the change in libintl.h Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15getopt[-susv3].c: use libintl's _(x)Peter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15regex_old.c: remove unneeded guardPeter S. Mazinger
_LIBC is undefined here, no need to specially guard with __UCLIBC__ Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15obstack.c: use libintl.hPeter S. Mazinger
remove gettext workarounds and use libintl.h's _(x) use strong_alias instead of weak_alias change how strong_alias and libc_hidden_def are disabled Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15arm: consistency check OABI v. EABIPeter S. Mazinger
added check in toolchain and config Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15alpha/__syscall_rt_sigaction.S: make the function hidden on non-NPTLPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15remove unneeded hidden sigwaitinfoPeter S. Mazinger
use __sigwaitinfo in sigwait.c, since that is already hidden Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15no need for hidden sigtimedwaitPeter S. Mazinger
remove unneeded attribute_hidden too, as the prototype provides it Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15parser_config.[ch]: remove duplicated hidden functionsPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15signal.h: move prototypes for __syscall_[rt_]sigaction to common placePeter S. Mazinger
solve inconsistency between archs NPTL should not use __syscall_rt_sigaction at all, for now it needs to be visible Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15libintl.h: add _(x) and N_(x) and use it everywherePeter S. Mazinger
remove _LIBC part from rpc headers include libintl.h to rpc_private.h and use that instead of rpc.h include libintl.h anywhere else needed replacing _(x) and N_(x) Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15libc-internal.h: use a consistent prototype for __stack_chk_failPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15signal.h: provide prototype for __libc_sigaction and remove all othersPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15use one common prototype for _create_xidPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15rpc_private.h: change guardPeter S. Mazinger
need another guard, else rpc/rpc.h might not be included Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15remove __FORCE_GLIBCPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15getopt.c, getopt.h: avoid the need for __FORCE_GLIBCPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15do not include libc-internal.hPeter S. Mazinger
it is already included by features.h Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15do not include xlocale.h, it is included by locale.h when neededPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15inet_addr.c, inet_makeaddr.c: used the correct section from addr.cPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15no need for hidden inet_ntoa_rPeter S. Mazinger
it is reused within the same file, solve it through a static function Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15remove unneeded hiddens for rtime, basename, strtof* and wcstof*Peter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15wordexp.c, sysconf.c: include ctype.h for isspacePeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-14libc: sh: fixed typo in ucontext headerFilippo Arcidiacono
Fixed typo in ucontext header, NFPREG wrongly defined twice instead of NGREG for general registers and NFPREG for floating point register. Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2012-06-13buildsys: clean up libubacktrace linker script handlingKevin Cernekee
Currently, the installed libubacktrace linker script entry always uses HARDWIRED_ABSPATH semantics, even if HARDWIRED_ABSPATH is disabled: $ grep GROUP $PREFIX/mipsel-linux-uclibc/sys-root/usr/lib/libc.so GROUP ( libc.so.0 uclibc_nonshared.a AS_NEEDED ( ld-uClibc.so.0 ) ) GROUP ( AS_NEEDED ( /lib/libubacktrace.so.0 ) ) This causes problems when building a non-sysroot toolchain. Move the AS_NEEDED insertion into libc/Makefile.in, and add a case to the HARDWIRED_ABSPATH substitution command so libubacktrace is handled the same way as the other libraries listed in the script. Signed-off-by: Kevin Cernekee <cernekee@gmail.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-13Update C6X supportMark Salter
This patch updates the C6X support to work with latest uClibc code and uses reworked DSBT support to allow using kernel FDPIC loader. Signed-off-by: Mark Salter <msalter@redhat.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-10eventfd: Implement eventfd2 and fix eventfdKhem Raj
eventfd: evntfd assumes to take two arguments instead it should be one evntfd expects two therefore implement both syscalls with correct parameters Thanks Eugene Rudoy for reporting it and also providing the patch Signed-off-by: Khem Raj <raj.khem@gmail.com>
2012-06-06MIPS: Use $a0 instead of $v0 for __syscall_error() argumentKevin Cernekee
$a0 is saved across _dl_runtime_resolve(); $v0 is not. Unfortunately, __syscall_error() uses $v0 for its argument, not $a0 as is the MIPS ABI standard. This means that if lazy binding was used for __syscall_error(), the errno value in $v0 could get corrupted. The problem can be easily seen in testcases where syscalls in librt fail; when librt tries to call __syscall_error() in libc, the argument gets lost and errno gets set to a bogus value: # ./tst-mqueue1 ; echo $? mq_receive on O_WRONLY mqd_t did not fail with EBADF: Unknown error 2004684208 1 # ./tst-mqueue2 ; echo $? mq_timedreceive with too small msg_len did not fail with EMSGSIZE: Unknown error 1997360560 1 # ./tst-mqueue4 ; echo $? mq_timedsend did not fail with ETIMEDOUT: Unknown error 2008747440 1 When _dl_runtime_resolve() was taken out of the equation, the same test cases passed: # LD_BIND_NOW=y ./tst-mqueue1 ; echo $? 0 # LD_BIND_NOW=y ./tst-mqueue2 ; echo $? 0 # LD_BIND_NOW=y ./tst-mqueue4 ; echo $? 0 Changing __syscall_error() to look at $a0 instead of $v0 fixed the problem. (Note that there is also a "__syscall_error.c" file which presumably uses the standard C calling conventions, but I do not think it is used on MIPS.) Signed-off-by: Kevin Cernekee <cernekee@gmail.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-06MIPS: Convert __syscall_error() callers to use $a0 for argumentKevin Cernekee
Some callers passed the first argument in $v0, while others used $a0. Change the callers to use $a0 consistently. Signed-off-by: Kevin Cernekee <cernekee@gmail.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-05-30pread/pwrite: drop fallback funcsMike Frysinger
Linux has provided these functions since the 2.1.x era, so no need to keep these around. We'd rather find out when things are missing (and fix that) than fall back to the unsafe hacks. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-05-30pread/pwrite: handle renamed syscalls in common/ppc/xtensa codeMike Frysinger
Some arches got this fix, but many did not. So copy the ifdef logic to the ones that missed it to fix behavior in linux-2.6+. URL: https://bugs.busybox.net/show_bug.cgi?id=5258 Reported-by: David Laight <david.laight@aculab.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-05-21mmap()->sys_mmap2: do unsigned shift of offsetJames Hogan
Fix the implementation of mmap based on the mmap2 system call, to construct pgoffset from offset with an unsigned shift rather than a signed (off_t) shift. The mmap2 test in the testsuite catches this case by mmap'ing with a large offset (with the sign bit set). The signed shift repeats the sign bit making the page shift way out of range. This is already fixed similarly in mmap64(). Signed-off-by: James Hogan <james.hogan@imgtec.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-05-21stdio: implement assignment-allocation "m" characterMike Frysinger
The latest POSIX spec introduces a "m" character to allocate buffers for the user when using scanf type functions. This is like the old glibc "a" flag, but now standardized. With packages starting to use these, we need to implement it. for example: char *s; sscanf("foo", "%ms", &s); printf("%s\n", s); free(s); This will automatically allocate storage for "s", read in "foo" to it, and then display it. I'm not terribly familiar with the stdio layer, so this could be wrong. But it seems to work for me. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-05-18ldso: sh: handle _dl_skip_args in linker startup instead of __uClibc_mainFilippo Arcidiacono
Handle _dl_skip_args in the asm part of the dynamic linker startup, to skip the ldso arguments, so we can keep this symbol hidden as other archs do. Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2012-05-05drop support for old systems lacking vforkMark Salter
Only really old systems (<=linux-2.0) lack a dedicated vfork system call. The code that is in place to support them is causing issues with newer arches that also don't provide a vfork system call -- instead, they do vfork by calling clone in userspace. If anyone cares about these really old systems, they can submit a patch to make the system work with them while not breaking newer systems. Signed-off-by: Mark Salter <msalter@redhat.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-05-03rpmatch: provide out-of-line implementationBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-04-28epoll.h: sync with glibcMike Frysinger
Since glibc has split out arch-specific stuff to bits/epoll.h, we can pull that sanity back into our tree and drop the arch ifdefs. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-26llseek: support __NR_llseek syscallMark Salter
Older kernels use __NR__llseek for a 64-bit lseek syscall. Newer kernels use __NR_llseek. This patch fixes the implementation of lseek64 to use the __NR_llseek syscall if it exists. Signed-off-by: Mark Salter <msalter@redhat.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-26getpgrp: fix fallback handlingMark Salter
The test for generating a stub for getpgrp was wrong and would result in duplicate symbols when building without __NR_getpgrp, but with __NR_getpgid and __NR_getpid. A closer look at the getpgrp implementation using getpgid showed that getpid was being called to pass the current pid to getpgid. This is unnecessary because passing 0 to getpgid returns the pgid of the current process. This patch cleans up the getpgrp implementation and the stub test. Signed-off-by: Mark Salter <msalter@redhat.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-26arm: use PATH_MEM in ioperm()Bernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-04-26mmap64: Use correct type for offset parameterMike Frysinger
Some arches check the size in INLINE_SYSCALL() and barf if it's too big (i.e. a 64bit value getting truncated to 32bit). Satisfy error-check on ppc32. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-25atomic.h: handle new mips R10K errataBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-04-18sysconf: use getrlimit to determine ARG_MAXBernhard Reutner-Fischer
getrlimit previously was only called for NPTL (why?), fix that to be used everywhere. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-04-17locale: avoid segfault freelocale()Bernhard Reutner-Fischer
PR 4964 Eric Nadler writes: It looks to me like the base structure is not fully initialized with 0 (only a subset of the structure is initialized). This later results in a free of base->collate.index2weight in _locale_set_l. This free tries to free uninitialized memory and segfaults. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-04-17wchar: Fix BOM emitting in iconv_open()Ed W
Fix incorrect output of BOM when converting charactersets by name. Only affective when iconv/locale enabled. Signed-off-by: Ed Wildgoose <lists@wildgooses.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>