summaryrefslogtreecommitdiffstats
path: root/libc/misc
Commit message (Collapse)AuthorAgeFilesLines
* misc: utmpx based logging supportSalvatore Cro2010-09-144-0/+115
| | | | | | | | misc: Added support for accessing user accounting database based on utmpx structure. Signed-off-by: Salvatore Cro <salvatore.cro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* misc: Fix build error about missing PAGE_SIZEAbdoulaye Walsimou Gaye2010-09-061-0/+1
| | | | | | | | | | | | | | | | This patch fixes the following build error: CC libc/misc/internals/__h_errno_location.os CC libc/misc/internals/parse_config.os libc/misc/internals/parse_config.c: In function 'bb_get_chunk_with_continuation': libc/misc/internals/parse_config.c:77: error: 'PAGE_SIZE' undeclared (first use in this function) libc/misc/internals/parse_config.c:77: error: (Each undeclared identifier is reported only once libc/misc/internals/parse_config.c:77: error: for each function it appears in.) make[2]: *** [libc/misc/internals/parse_config.os] Error 1 Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* getserv: fix reading services lines w > 80 charsBernhard Reutner-Fischer2010-08-191-4/+7
| | | | | | e.g. getservbyname() Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* config parser: fix memory corruptionTimo Teräs2010-08-061-2/+2
| | | | | | | | | | | | fgets will happily write over allocated area limits. Adjusted the buffer size according to how much is already read. Also increase the maximum default line length, as 80 is slightly small. It might be better if bb_get_chunk_with_continuation would reallocate the line buffer if it was not user given. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* add config parserBernhard Reutner-Fischer2010-08-052-3/+273
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* silence warning about incompatible types with _dl_init_static_tlsBernhard Reutner-Fischer2010-07-271-1/+1
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* Fix ctime() standard compliance bugDavid A Ramos2010-07-271-0/+1
| | | | | | | | | | | | | | | | | | | | | fixes issue2209: ctime() was updated in 0.9.31 to call localtime_r() instead of localtime() to avoid using a static buffer. Unfortunately, this change replaces the static buffer (which is zeroed out on initialization) with an uninitialized local buffer. In the common case, this has no effect. However, with a sufficiently large time_t value, the value returned differs from that returned by asctime(localtime(t)), and thus violates the ANSI/ISO standard. An example input is (on a 64-bit machine): time_t t = 0x7ffffffffff6c600; Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* Revert "don't make __errno_location / __h_errno_location hidden"Austin Foxley2010-07-062-0/+4
| | | | | | | | This reverts commit 0d6ee549bc86fd330672a79d9a87d2c3825eea67. We need to find a solution that will work in shared and static libraries Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* don't make __errno_location / __h_errno_location hiddenPeter Korsgaard2010-07-052-4/+0
| | | | | | | | | | | | | Closes #2089 (https://bugs.busybox.net/show_bug.cgi?id=2089) __errno_location / __h_errno_location access has to go through the PLT like malloc/free, so the linuxthread variants gets used instead when compiling with -pthread. Based on http://github.com/mat-c/uClibc/commit/328d392c54aa5dc2b8e7f398a419087de497de2b Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* more workarounds for GCC PR32219Timo Teräs2010-06-301-2/+2
| | | | | | | | | | Commit 2e53dd645d5348f207cec7f8595969dc566c5a55 workarounds GCC bug when accessing _locale_init and _stdio_init. We need the same fix for __errno_location and __h_errno_location otherwise we crash calling null with static and non-threaded builds. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl/errno: Use a separate __errno_location for libpthread.Khem Raj2010-06-301-1/+5
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libc: Fix non-NPTL threads buildCarmelo Amoroso2010-06-171-1/+3
| | | | | | | | This patch fixes some issues building uclibc with linuxthreads, that seem to have been introduced by the NPTL changes. Signed-off-by: Andrew Stubbs <ams@codesourcery.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* hcreate_r: silence warning in helper funcBernhard Reutner-Fischer2010-06-111-4/+4
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* wordexp: silence warningBernhard Reutner-Fischer2010-06-111-1/+2
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* static build: define pthreads wrappers only for threaded buildsTimo Teräs2010-05-171-0/+2
| | | | | | | | Otherwise we get compiler errors due to undefined prototypes as noticed by Denys. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* some (all?) archs don't define asm, so use builtin __asm__Austin Foxley2010-05-171-1/+1
| | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* workaround GCC PR32219Denys Vlasenko2010-05-171-2/+13
| | | | | | | | we ended up calling 0 Fixes bug #1033 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* static build: fix internal locking weaks to get pulled in alwaysTimo Teras2010-05-073-41/+35
| | | | | | | | | | | Linker is smart and does not pull in weaks.os, ever. This happens because that compilation unit does not get strong references and ld eliminates dead code. We really need the weaks for static build in a compilation unit that is always there, otherwise it won't work. Signed-off-by: Timo Teras <timo.teras@iki.fi> Acked-by: Roman I Khimov <khimov@altell.ru> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* time.c: fix unreadable code style: assignments within if(), misplaced commentsDenys Vlasenko2010-04-291-35/+48
| | | | | | No logic changes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* optional /etc/localtime supportDenys Vlasenko2010-04-291-3/+41
| | | | | | | | This patch teaches uclibc to use /etc/localtime. This is possible since recent TZif2 file format contains TZ-like ASCII string at the end. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libc/regex: fix internal_function declarationsRoman I Khimov2010-04-271-5/+5
| | | | | | | | | | | | | | Build failed with | In file included from libc/misc/regex/regex.c:59: | libc/misc/regex/regexec.c:315: error: conflicting types for 're_search_2_stub' | libc/misc/regex/regexec.c:44: note: previous declaration of 're_search_2_stub' was here | libc/misc/regex/regexec.c:358: error: conflicting types for 're_search_stub' | libc/misc/regex/regexec.c:49: note: previous declaration of 're_search_stub' was here .... etc Signed-off-by: Roman I Khimov <khimov@altell.ru> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* libc: Remove compiler warning due to old-style function definitionCarmelo Amoroso2010-04-251-57/+27
| | | | Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* nptl: fix libc internal, dynamically enabled lockingTimo Teräs2010-04-222-0/+41
| | | | | | | | | | | | | | | | | | | | | Final iteration to fix libc internal locking if libpthread is pulled in by dlopen call (directly or indirectly). We cannot really use the weak symbol trick for shared build, since the symbols won't get refreshed if libpthread is pulled in dynamically. In glibc, they have #ifdef SHARED magic to either use pthread_functions table, or weaks. But as we shared object files with both builds, this does not sounds good either. The reintroduces the libc weaks.c, but uses them now only with static build. For dynamic build, we still use the symbols with same name, but provide weaks in forward.c so they end up dereferencing the pthread_functions table indirectly if we are not linked to libpthread. Mutex initialization is hard coded as inline, as it needs to happen even if libpthread is not initially loaded. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* libc: remove libc weak __pthreads_* wrappersTimo Teras2010-04-164-74/+1
| | | | | | | | | | | | | | | | | It is not possible to override for libpthread to override the weak libc definitions. This has never worked in uclibc, and does no longer work in glibc either (unless you use LD_DYNAMIC_WEAK). The proper thing to do is have weak prototypes in libc, and definitions in libpthread only. This way libc runs even if those functions are not defined, but just needs to protect against the NULL values (done by implementing __uclibc_maybe_call). This fix the problems if libc is linked before libpthread or if libpthread is pulled by a dependency library. Signed-off-by: Timo Teras <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* libc_regex: __libc_lock primitives are actually available on uClibcCarmelo Amoroso2010-04-122-3/+6
| | | | | | | | | | | | | | | | | | __libc_lock primitives are actually available on uClibc when threading support is enable, so in this case they can be used. It also fixes the following compiler warnings: In file included from libc/misc/regex/regex.c:55: libc/misc/regex/regex_internal.h:49:1: warning: "__libc_lock_define" redefined [SNIP] libc/misc/regex/regex_internal.h:50:1: warning: "__libc_lock_init" redefined [SNIP] libc/misc/regex/regex_internal.h:51:1: warning: "__libc_lock_lock" redefined [SNIP] libc/misc/regex/regex_internal.h:52:1: warning: "__libc_lock_unlock" redefined Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* Merge commit 'origin/master' into nptlAustin Foxley2010-04-063-50/+55
|\ | | | | | | | | | | | | | | Conflicts: libc/misc/utmp/utent.c libc/sysdeps/linux/i386/bits/syscalls.h Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
| * utent: do not create extra static functions if !THREADSDenys Vlasenko2010-04-051-37/+49
| | | | | | | | | | | | | | | | text data bss dec hex filename 547 8 384 939 3ab libc/misc/utmp/utent.o 519 8 384 911 38f libc/misc/utmp/utent.o Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * regex_old: convert static flag variable to smallintDenys Vlasenko2010-04-052-10/+4
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * getutid is not used internally, removing hidden_protoDenys Vlasenko2010-04-051-4/+3
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | Merge commit 'origin/master' into nptlAustin Foxley2010-04-0225-50/+50
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: Makefile.in extra/Configs/Config.in libc/sysdeps/linux/common/bits/kernel-features.h libc/sysdeps/linux/common/poll.c libc/sysdeps/linux/common/sysdep.h libc/sysdeps/linux/sh/sysdep.h Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
| * prettify make cleanBernhard Reutner-Fischer2010-03-2525-50/+50
| | | | | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* | libc: build tsd only when tls is enabledAustin Foxley2010-02-111-1/+1
| | | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* | Merge commit 'origin/master' into nptlAustin Foxley2010-02-052-6/+6
|\| | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
| * __uClibc_main: use __pagesize to protect against recursionBernhard Reutner-Fischer2010-02-031-4/+2
| | | | | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
| * remove two checks for gettimeofday errorDenys Vlasenko2010-02-021-2/+4
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | Merge commit 'origin/master' into nptlKhem Raj2010-02-011-3/+2
|\| | | | | | | | | | | | | Conflicts: libc/stdlib/Makefile.in Signed-off-by: Khem Raj <raj.khem@gmail.com>
| * errno: hide __libc_resp, __libc_errno, and __libc_h_errnoKhem Raj2010-02-011-3/+2
| | | | | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* | Merge branch 'master' into nptlCarmelo Amoroso2010-01-254-14/+16
|\| | | | | | | | | | | | | | | | | | | Conflicts: libc/inet/Makefile.in libc/inet/hostid.c Synchronise nptl branch with master branch @ c4b750195714ec7c10aa4de15610c5aae0751c1c Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
| * wchar.c: fix indentationDenys Vlasenko2010-01-241-10/+10
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * silence some warnings about unused paramsBernhard Reutner-Fischer2010-01-233-4/+6
| | | | | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
| * wordexp: silence shadow warningBernhard Reutner-Fischer2010-01-211-18/+18
| | | | | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
| * ctime: do not use static struct tm bufferDenys Vlasenko2010-01-091-3/+17
| | | | | | | | | | | | | | | | text data bss dec hex filename - 19 0 0 19 13 libc/misc/time/ctime.o + 25 0 0 25 19 libc/misc/time/ctime.o Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * check if USE_TLS is defined before useHans-Christian Egtvedt2009-12-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | This patch will convert all the #ifdef USE_TLS and #if USE_TLS to #if defined(USE_TLS) && USE_TLS. By checking if the USE_TLS is defined before checking its value will result in correct behavior for architectures not defining this config symbol. Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> Acked-by: Carmelo AMOROSO <carmelo.amoroso@st.com>
* | wordexp: silence shadow warningBernhard Reutner-Fischer2010-01-211-18/+18
| | | | | | | | | | | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> (cherry picked from commit 831ea78623556cbfae002477afc6256cacaaf2c6) Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* | ctime: do not use static struct tm bufferDenys Vlasenko2010-01-211-3/+17
| | | | | | | | | | | | | | | | | | | | | | text data bss dec hex filename - 19 0 0 19 13 libc/misc/time/ctime.o + 25 0 0 25 19 libc/misc/time/ctime.o Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> (cherry picked from commit 957e238614326198452b53498ae98e546fce7366) Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* | check if USE_TLS is defined before useHans-Christian Egtvedt2009-12-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | This patch will convert all the #ifdef USE_TLS and #if USE_TLS to #if defined(USE_TLS) && USE_TLS. By checking if the USE_TLS is defined before checking its value will result in correct behavior for architectures not defining this config symbol. Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> Acked-by: Carmelo AMOROSO <carmelo.amoroso@st.com>
* | Merge remote branch 'origin/master' into nptlAustin Foxley2009-12-151-48/+59
|\| | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
| * syslog: use send(MSG_NOSIGNAL) instead of write, thus no need to handle SIGPIPEDenys Vlasenko2009-12-131-7/+6
| | | | | | | | | | | | | | | | | | | | | | Size changes by this and previous change: text data bss dec hex filename 1151 13 2 1166 48e libc/misc/syslog/syslog.o 1093 10 2 1105 451 libc/misc/syslog/syslog.o 1047 10 2 1059 423 libc/misc/syslog/syslog.o Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * syslog: fix openlog(xx, LOG_KERN) and optimize a bitDenys Vlasenko2009-12-131-45/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix: logfac == 0 in openlog(xx, logfac) is allowed now. Corresponding internal openlog() call in vsyslog() uses explicit LOG_USER in order to set it as a default facility. Optimizations: mylock is not recursive now, since a single intenal call of openlog is converted to a call to openlog_internal which assumes that lock is already taken. No recursive locking is possible now. LogFacility is reduced to byte. cache static LogFile in auto variable fd (smaller code). vsyslog with bogus pri parameter wouldn't lock/unlock and mess with signals - it will just return at once. pass NULL as ident string in internal openlog call - same effect as passing LogTag but smaller code. comment out "if (LogTag)" checks - it is never NULL. use the same struct sigaction for setting new sigaction and for saving old one - saves ~32 bytes of stack. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | get x86_64 nptl buildingAustin Foxley2009-12-111-1/+1
| | | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>