summaryrefslogtreecommitdiff
path: root/libc/misc
AgeCommit message (Collapse)Author
2013-05-13libc: deal with aux vect inside __uClibc_main only if !SHAREDFilippo ARCIDIACONO
It's not safe to use the aux vect inside __uClibc_main if we are running with shared libraries, because it could have been already modified. For example, if some constructor plays with environment variables by using unsetenv, the modifications done into the stack to unset an environment variable, have impacts on the aux vect due to the extra NULL entries added. Due to this, __uClibc_main is not able to detect where the aux vect starts, so all the entries that are used by __uClibc_main (AT_UID, AT_EUID, AT_GID, AT_EGID, AT_PAGESZ and possibly other arch specific) are impacted. Same side effect on the aux vect is caused by the ld.so when running a SUID program with some of the unsecure environment variables set, that will be unset by the ld.so itself. In order to fix this issue, it needs to handle aux vect entries into __uClibc_main only if SHARED is not defined. In SHARED case, libc refers to __dl_secure and _dl_pagesize as initialised by the ld.so where the aux vext is still untouched. Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com> Reviewed-by: Carmelo Amoroso <carmelo.amoroso@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2013-03-14libc/ipc: Make IPC_64 0 for common-generic ABIVineet Gupta
This avoids having to define __IPC_64 to 0 in each arch using the ABI Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Cc: Markos Chandras <markos.chandras@imgtec.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2013-02-20libc/ipc: Allow architectures to define their own __IPC_64 macroMarkos Chandras
New architectures don't define ARCH_WANT_IPC_PARSE_VERSION in their kernel. This means that every cmd passed to semctl,msgctl and shmctl is IPC_64 by default. For these architectures we need to define __IPC_64 as 0. Existing architectures are not affected by this change. Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2013-02-20fstatfs64: Prefer fstatfs64 system call instead of __libc_fstatfsMarkos Chandras
Using __libc_fstatfs for fstatfs64 adds a small delay as it needs to use a 32-bit data structure to get the file info and them pass them to the 64-bit data structure which was given as a fstatfs64 argument. Using the system call directly should make the entire process much faster. Also fix the arguments for fstatfs64. It takes three arguments (see fs/fstatfs.c in Linux kernel sources) so despite what the manpage says, the size of the buffer needs to be passed as the second argument Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2013-02-20libc/statfs64: Skip conversion code for new architecturesMarkos Chandras
Fixes the following tests in LTP statfs02_64 ( test case #5 ) The purpose of this test is to pass an invalid pointer to the statfs64 syscall and check if the kernel returns EFAULT or not. However, uClibc creates a new statfs struct which is then passed to the kernel. As a result of which, the kernel returns 0 because the newly created statfs structure is valid. But, when copying the contens of the new pointer to the old userspace one, the uClibc segfauls because the old pointer is invalid. Old architectures are doomed to suffer by this problem but new architectures can use the statfs64 syscall directly so that the userspace pointer is passed directly to the kernel and get the correct errno at the end. Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2013-02-07buildsys: switch warning into a TODOBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2013-02-05buildsys: switch libc to kbuild-styleBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2013-01-21libc: fix typo in statvfsBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2013-01-21libc: fix typo in statvfsBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2013-01-17statfs: towards _STATFS_F_FLAGSBernhard Reutner-Fischer
preparatory work. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2013-01-17statfs: support f_frsizeBernhard Reutner-Fischer
closes bugzilla #5834 Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2013-01-16buildsys: link libgcc_eh if DODEBUGBernhard Reutner-Fischer
with -O0 we (e.g. lockf) might end up with references to _Unwind_Resume, so pull in gcc_eh in this case.. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-11-18drop support for pre ISO-C compilersMike Frysinger
This drops __signed, __volatile, and __const. Only the latter was used in the code base, and for uClibc, not consistently. Much of the code used plain "const" which meant "__const" was useless. Really, the point of this is to stay in sync with what glibc did. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-11-18Replace FSF snail mail address with URLsMike Frysinger
This matches a similar change made to glibc. No functional changes here. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-10-31__uclibc_main: remove stray trailing spaceBernhard Reutner-Fischer
test post-receive hook Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15error.c: no need for __error and __error_at_linePeter 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-15fts.c: add a comment about wrong usage of _lfs_64.hPeter S. Mazinger
This file needs anyway some massage (style update), I'll leave the fix to the committer. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15shm.c: do not use __libc_X internallyPeter 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 open_not_cancel_2 instead of open_not_cancelPeter 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-15ssp: rework, sync messages with the ones in glibcPeter S. Mazinger
Touch signals only if DODEBUG is enabled. Make the signal selection dependent on DODEBUG, as last resort use SIGKILL. Use internal functions with less arguments, some savings. Fix a warning about unused argument. Do not use openlog/closelog, while there remove their hidden versions. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15syslog.c: disable locking in setlogmaskPeter 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-15syslog.c: no need for hidden vsyslog, use a static __vsyslog insteadPeter S. Mazinger
It is only used within the same file. Guard the visible version according to header. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15make UCLIBC_HAS_PROGRAM_INVOCATION_NAME and UCLIBC_HAS___PROGNAME ↵Peter S. Mazinger
independent options Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15tempname.c: remove unneeded attribute_hidden, change type to unsignedPeter 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: use vfork instead of fork on non-MMU archsPeter 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-15dl-iterate-phdr.c: no need for visible __dl_iterate_phdr, make it staticPeter 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-15adapt regex to new regex.hPeter S. Mazinger
While there, add some defines to help build, cleanup Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15ftw.c: errno.h has to be included before undefining _LIBCPeter S. Mazinger
While, cleanup a bit 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: adapt to new regex.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-15errno, h_errno: correct them for non-TLSPeter S. Mazinger
Move h_errno related stuff to separate file. Do not hide errno and h_errno for non-TLS, else it keeps being 0. Make __[h_]errno_location weak for non-TLS. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15__uClibc_main.c: do not include unused headersPeter S. Mazinger
Remove unneeded headers. Guard inclusion of fcntl.h. While there, remove an obsoleted comment. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15iconv: Do not include __iconv_codesets into iconv utilityPeter S. Mazinger
Host iconv needs only L_iconv_main defined and __iconv_codesets has to included, as host system does not provide it. Keep __iconv_codesets out of iconv linked against uClibc. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15errno and *_init cleanupPeter S. Mazinger
Define a common view of __errno_location, __h_errno_location in common header and use that everywhere, __uClibc_main.c is no special. The rule adopted: for enabled threads we make in libc the __GI_x() variants strong, x() weak and (should) provide another strong x() in libpthread. If threads are disabled, even the __GI_x() variants are weak. _stdio_init,_stdio_term,_locale_init: make all hidden weak in common header Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15__uClibc_main.c: make __uClibc_init hiddenPeter S. Mazinger
The linker can cope with it if it is hidden. No need for the __GI___uClibc_init. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15getttyent.c: include stdio_ext.h only when neededPeter S. Mazinger
do not include pthread.h as the locking macro is provided by stdio.h Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15time.c: fix a guard to avoid a warning about unused labelPeter 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-15resolv.c,time.c,_atexit.c: hide 3 locksPeter 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-15_hsearch_r.c: use stdlib.h instead of malloc.h for callocPeter 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-15fnmatch: replace __memset and __memcmpPeter 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-15locale.c, uClibc_locale.h: provide hidden __curlocale[_set]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-15err.c: add attribute_noreturn to static functionsPeter S. Mazinger
while there, remove unneeded pthread.h Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15err.c, err.h: no need for hidden functionsPeter S. Mazinger
Since we reuse the functions in the same file, provide static __X() and use strong_alias to provide the visible functions. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15tsd.c: fix commentPeter 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-15alphasort*.c: use strcoll instead of strcmp to support localesPeter 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-15scandir,readdir[_t]: use one common source for X() and X64()Peter S. Mazinger
Since the sources differ only minimally, use only scandir.c,readdir[_t].c and redefine the used functions accordingly. Use a strong_alias instead of compiling *64.c if __WORDSIZE = 64 Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15versionsort*.c, alphasort*.c: do not need *64 compiled for __WORDSIZE = 64Peter S. Mazinger
use a strong_alias instead Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15move __getdents[64] prototypes to dirent.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-15dirstream.h: remove unused constantsPeter 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-15make __uClibc_fini() hiddenPeter S. Mazinger
No need for a visible version 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 lockf64Peter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>