summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-03-06simplify ffs* codePeter S. Mazinger
Remove __libc_ffs*, unneeded Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-06remove unused ARCH_CFLAGS and ARCH_LDFLAGSPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-06Revert "try to fix duplicated slashes in the generated lib*.so files"Peter S. Mazinger
This reverts commit 624be66cb9b350d5c6538fca8592cdb3a4c23d37. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-05Implement ffsl and ffsll.Bernd Schmidt
This imports and adapts ffsll.c from glibc. The same mechanism as in glibc is used to choose between ffs and ffsll to implement ffsl. The single user in libc is changed to use the hidden version __libc_ffs. Signed-off-by: Bernd Schmidt <bernds@codesourcery.com> Acked-by: Bernhard Reutner-Fischer <aldot@uclibc.org>
2011-03-05Add sanity checks to ld.so DSBT supportMark Salter
This adds some DSBT index sanity checks to the runtime linker. It catches libraries which have no index (index 0) and libraries which try to use an already used index. Signed-off-by: Mark Salter <msalter@redhat.com> Signed-off-by: Bernd Schmidt <bernds@codesourcery.com>
2011-03-05The C6X portAurelien Jacquiot
This adds support for the TI C6X family of processors. Signed-off-by: Mark Salter <msalter@redhat.com> Signed-off-by: Aurelien Jacquiot <a-jacquiot@ti.com> Signed-off-by: Bernd Schmidt <bernds@codesourcery.com>
2011-03-05Allow ABIs where SP points below the stack frame.Bernd Schmidt
On C6X, the stack pointer points to a word that is not part of the current function's stack frame. It may be overwritten by callees. Take this into account when creating the stack for a cloned thread. Signed-off-by: Bernd Schmidt <bernds@codesourcery.com>
2011-03-05Add support for DSBT ELF to ld.soMark Salter
This adds support for DSBT ELF to ld.so. This uses loadmaps like FD-PIC. Some code is added in ld.so to initialize the DSBT tables, and there's also a new target macro FINISH_BOOTSTRAP_RELOC. Signed-off-by: Mark Salter <msalter@redhat.com> Signed-off-by: Aurelien Jacquiot <a-jacquiot@ti.com> Signed-off-by: Bernd Schmidt <bernds@codesourcery.com>
2011-03-05Add Makefile support for DSBT ELF.Bernd Schmidt bernds_cb1@t-online.de
This adds support for a new binary format, DSBT ELF, to the Makefiles. Every shared library is assigned a DSBT index, and the link.so macro is adjusted to ensure the correct linker argument is passed. Configuration and ldso support will follow in separate commits. Signed-off-by: Bernd Schmidt <bernds@codesourcery.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-03-04fix locale buildPeter S. Mazinger
make xlocale.h a dummy, locale_t is needed without it and uClibc_locale.h is already included by locale.h Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-04fix removal of sgtty.hPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-04nptl: fix use of IS_IN_LIBPTHREAD macroCarmelo Amoroso
IS_IN_LIBPTHREAD should be IS_IN_libpthread instead. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2011-03-03remove obsoleted and incorrect commentPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03provide internal hidden version of __fcntl_nocancelPeter S. Mazinger
guard the prototype with _LIBC, it is only for internal use Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03add _dl_errno support to errno.h, cleanupPeter S. Mazinger
Add support to use errno.h in ldso. Move __set_errno into _LIBC guard. Remove uClibc_errno.h, unused. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03do not enforce FORCE_SHAREABLE_TEXT_SEGMENTS on sh4Peter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03sgtty.h is useless, remove it on STRICT_HEADERSPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03paths.h: add _PATH_GSHADOWPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03guard nl_catd structure and related constants with STRICT_HEADERSPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03better guard of IPV6 related stuffPeter S. Mazinger
Function prototypes are visible whenever IPV6 option is enabled. Structures and constants are visible either if IPV6 is enabled or STRICT_HEADERS is disabled. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03do not care about libc-internal.h, remove hp-timing.hPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03strcpy: remove unneeded includes from the generic versionPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03update some headersPeter S. Mazinger
Sync some headers with glibc. realpath is an XSI extension in SuSv4, add back guard and update comment, since it seems to allow != NULL in second arg. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03update some headersPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03make it possible to compile with -std=gnu99/c99 and use extern inlinesPeter S. Mazinger
When compiled with -std=gnu99/c99 __GNUC_GNU_INLINE__ is not defined Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03simplify guard of uClibc internalsPeter S. Mazinger
Simplify guard of uClibc internals, since _LIBC sections are removed on install. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03remove libc-internal.h on installPeter S. Mazinger
Remove libc-internal.h on install, I think internal is a typo. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03remove ucontext.h and guard sigstack structure with SUSV4_LEGACY and ↵Peter S. Mazinger
STRICT_HEADERS Remove ucontext.h if SUSV4_LEGACY is not set and fix it's references. Guard sigstack structure with SUSV4_LEGACY and STRICT_HEADERS. Disable sigstack function prototype, it is not provided by uClibc. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03make parse_printf_format() depend on UCLIBC_HAS_GLIBC_CUSTOM_PRINTFPeter S. Mazinger
we already remove the printf.h header if this option is disabled Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03remove error handling from some syscallsPeter S. Mazinger
Remove error handling from getegid/getgid/geteuid/getuid/getppid/getpid/getpgrp Use strong_alias if fallbacks are needed Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03fix dependency on ADVANCED_REALTIMEPeter S. Mazinger
Do not depend on ADVANCED REALTIME for mq_send/mq_receive Added stubs implementation based on libc's stubs.c Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03fix stubsPeter S. Mazinger
We use enosys_stub only in this file so make it static Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03initialize 2 variables to get rid of compiler warningPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03Correct ssp codePeter S. Mazinger
Avoid using strong_alias in ssp, some archs dislike it. Make stack_chk_guard static. Export __stack_smash_handler only if compatibility option is enabled. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03add missing prototypesPeter S. Mazinger
Add some missing prototypes Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03use common sigthread.hPeter S. Mazinger
NPTL build did not use the correct bits/sigthread.h, use a common version avoiding this. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03add missing prototypesPeter S. Mazinger
Add some missing prototypes Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03style updatePeter S. Mazinger
Style update avoiding compile warnings Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03syntax fixesPeter S. Mazinger
Avoid compile warnings about the use of undefined constants Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03avoid warnings on _STACK_GROWS_* usagePeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03syntax fixPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03try to fix duplicated slashes in the generated lib*.so filesPeter S. Mazinger
Try to fix duplicated slashes in the generated lib*.so files and make sure that on installation the *bin directories are really created (avoid the misbehaviour of creating usrbin dir). Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03initialize tls_tpnt to NULL on all archsPeter S. Mazinger
Initialize tls_tpnt to NULL on all archs instead of 0. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03disable build warnings in utilsPeter S. Mazinger
Disable some build warnings in utils. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03guard IPv6 stuffPeter S. Mazinger
disable IPv6 related stuff if feature is disabled. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03add UCLIBC_STRICT_HEADERS config optionPeter S. Mazinger
Add config option to disable the visibility of structures/constants that should not be visible unless a feature is enabled. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03include features.hPeter S. Mazinger
include features.h to make the next ifdef work. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03ldso: use ADDR_ALIGN instead of hard-coded valueCarmelo Amoroso
Use ADDR_ALIGN to align the minvma when loading shared libraries instead of the hard coded 0xffffU value. This fixes teh stand/alone support on ARM as reported in bug #3133. Signed-off-by: Sven Ola <sven-ola@gmx.de> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2011-02-25nptl:arm: add a wrapper for .cfi_sections pseudo-opsCarmelo Amoroso
ARM disables by default the support for ASM CFI directives. Anyway using an old version of binutils that does not support some new pseudo-op, the build fails as below: AS libpthread/nptl/sysdeps/unix/sysv/linux/close.oS libpthread/nptl/sysdeps/unix/sysv/linux/close.S: Assembler messages: libpthread/nptl/sysdeps/unix/sysv/linux/close.S:9: Error: unknown pseudo-op: `.cfi_sections' The problem is that the .cfi_sections pseudo should be wrapped by a macro that expands to nothing when the CFI is off. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com> CC: Khem Ray <ray.khem@gmail.com>
2011-02-24linuxthreads.old: fix nommu initial thread stack detectionMike Frysinger
Because the nommu address space is flat, and the application stack can literally be located anywhere, we cannot rely on the assumptions that the mmu port gets away with. Namely, that the first thread's stack lives at the top of memory and nothing will be created above it. Currently, the code rounds the current stack up a page and sets that as the "top" of the stack, and then marks the "bottom" of the stack as "1". Then as new threads are created, this assumption is further refined by slowly backing off the "bottom" when a new stack is created within the range of the initial stack. Simple ascii example (tid0 is the initial thread): 1 thread: [bos tid0 stack tos] 2 threads: [ tid0 stack ] [tid1 stack] 3 threads: [ tid0 stack ] [tid1 stack] [tid2 stack] As you can kind of see, this algorithm operates on one basic assumption: the initial top of stack calculation is the absolute top of the stack. While this assumption was fairly safe in the original nommu days of yore where the only file format was FLAT (which defaults to a 4KiB stack -- exactly 1 page), and memory was fairly tight, we can see that this falls apart pretty quickly as soon as the initial stack is larger than a page. The issue that crops up now is simple to hit: start an application with an 8KiB stack, execute some functions that put pressure on the stack so that it exceeds 4KiB, then start up some threads. The initial tos will be rounded up by a page, but this is actually the middle of the stack. Now when the initial thread returns from its functions (thus unwinding the stack) and tries to call something which calls back into libpthread, the thread_self() func fails to detect itself as the initial thread as the current stack is now above the tos. The __pthread_find_self() func kicks in, walks all the thread arrays, fails to find a hit, and then walks into uninitialized memory for the thread descriptor. Use of this garbage memory has obvious results -- things fall down & go boom. To address this, I extend the current algorithm to automatically scale back both the bottom and the top stack limits of the initial thread. We use the current stack pointer at "thread boot time" only as a single known point. The initial thread stack bottom is set to the bottom of memory and the initial thread stack top is set to the top of memory. Then as we create new stack threads, we figure out whether the new stack is above or below the single known good address, and then scale back either the tos or the bos accordingly. Reviewed-by: Steven J. Magnani <steve@digidescorp.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>