summaryrefslogtreecommitdiffstats
path: root/libc
Commit message (Collapse)AuthorAgeFilesLines
...
* enable building __fcntl_nocancel, as it used unconditionally nowAustin Foxley2010-04-251-2/+0
| | | | | | also sync up not-cancel.h headers between all three thread libraries Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* libc: Remove compiler warning due to old-style function definitionCarmelo Amoroso2010-04-2519-206/+93
| | | | Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* nptl: fix libc internal, dynamically enabled lockingTimo Teräs2010-04-223-12/+46
| | | | | | | | | | | | | | | | | | | | | 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>
* nptl: fix malloc library lockingTimo Teräs2010-04-222-10/+8
| | | | | | | | Update malloc library to use internal uclibc locking primitives to get the libpthread calls correct. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* nptl: proper soname handlingNatanael Copa2010-04-221-5/+5
| | | | | | | | | | | Since sublevel releases are not ABI compatible we need to adjust the soname to include the sublevel version. This makes it possible to install ABI incompatible versions of the library side by side so clean upgrades are possible. Signed-off-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* nptl: remove unneeded libc-lock.h includeTimo Teräs2010-04-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | I semi-accidentally added include for libc-lock.h because the intention was to use locking macroes from there. However, we ended up using using the weak alias stuff. This is additionally good since now this can result in compile errors like: In file included from /toolchain/include/bits/uClibc_mutex.h:16, from /toolchain/include/bits/uClibc_stdio.h:107, from /toolchain/include/stdio.h:72, from /work/freetype-2.3.11/include/freetype/config/ftstdlib.h:100, from ./builds/unix/ftconfig.h:43, from builds/unix/ftsystem.c:21: /toolchain/include/bits/libc-lock.h:309: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void' Remove the unneeded include causing breakage. Reported-by: Kevin Day <thekevinday@gmail.com> 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-166-82/+22
| | | | | | | | | | | | | | | | | 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>
* nptl: fix libc sigtimedwaitTimo Teräs2010-04-151-2/+3
| | | | | | | | | | | | | | | | | | It seems that 57e8823548ad6e65d33b2153edeb18fb0edc20e6 removed completely sigtimedwait symbol from libc which is wrong. I hope there is not too many other things like this. Apparently the libc_hidden_* macros actually make previously hidden symbols visible globally (creates alias from __GI_* to *). This is probably ancient confusion from times when gcc did not support visibility attribute and hiding symbols was done using hacks like this. This also adds attribute_hidden to the internal __sigtimedwait for nptl case. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* nptl: fix libc sigaction signal checkingTimo Teräs2010-04-152-19/+0
| | | | | | | | | | We should not check for SIGCANCEL in __libc_sigaction because nptl calls this function to setup this signal. Nptl provides it's own override for sigaction that checks that the user cannot override signals nptl uses internally. Linuxthreads does not use SIGCANCEL at all so this affects nptl only. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* Merge remote branch 'origin/master' into nptlAustin Foxley2010-04-122-8/+7
|\ | | | | | | | | | | | | Conflicts: libc/unistd/confstr.c 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> (cherry picked from commit 65f9ccdafd008abd9892dfc46fb9737ec4d964c5) Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
| * resolv: tentatively fix usage of uninitialized DNS parametersDenys Vlasenko2010-04-091-4/+2
| | | | | | | | | | | | | | See "Possible regression from timeout commit for resolv.conf" thread. Also remove superfluous NULL check. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * confstr: properly stringify version partsBernhard Reutner-Fischer2010-04-081-3/+5
| | | | | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.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>
* | Fixes NPTL build on x86.Natanael Copa2010-04-091-1/+1
| | | | | | | | | | Signed-off-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* | correctly quote version in confstrAustin Foxley2010-04-061-3/+4
| | | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* | Merge commit 'origin/master' into nptlAustin Foxley2010-04-066-161/+229
|\| | | | | | | | | | | | | | | Conflicts: libc/misc/utmp/utent.c libc/sysdeps/linux/i386/bits/syscalls.h Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
| * getconf: print arbitrary GNU_LIBPTHREAD_VERSION stringBernhard Reutner-Fischer2010-04-061-0/+18
| | | | | | | | | | | | | | the NPTL should probably print the version-string of the glibc it's compatible with and not the uClibc version (check what mysql expects). Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
| * Fix use-after-free bug in __dns_lookupGabor Juhos2010-04-061-3/+1
| | | | | | | | | | | | | | | | | | | | | | If the type of the first answer does not match with the requested type, then the dotted name was freed. If there are no further answers in the DNS reply, this pointer was used later on in the same function. Additionally it is passed to the caller, and caused strange behaviour. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
| * i386/bits/syscalls.h: more compact, but stack-hungry syscall code. disabled ↵Denys Vlasenko2010-04-061-18/+78
| | | | | | | | | | | | so far Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * i386/bits/syscalls.h: explain _BITS_SYSCALLS_ASMDenys Vlasenko2010-04-061-45/+9
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * i386/bits/syscalls.h: generate better code using more restrictive asm ↵Denys Vlasenko2010-04-061-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | constraints Example: time() doesn't push/pop two registers now, and is smaller: <__GI_time>: -57 push %edi -8b 7c 24 08 mov 0x8(%esp),%edi -53 push %ebx -89 fb mov %edi,%ebx +8b 4c 24 04 mov 0x4(%esp),%ecx +87 cb xchg %ecx,%ebx b8 0d 00 00 00 mov $0xd,%eax cd 80 int $0x80 -5b pop %ebx -5f pop %edi +87 cb xchg %ecx,%ebx c3 ret Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * i386/bits/syscalls.h: explain how it works. no code changesDenys Vlasenko2010-04-061-100/+116
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.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>
* | poll.c: fix incorrect mergeAustin Foxley2010-04-021-3/+1
| | | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* | Merge commit 'origin/master' into nptlAustin Foxley2010-04-0249-368/+299
|\| | | | | | | | | | | | | | | | | | | | | | | 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>
| * resolv: DEBUG-print nameserver we talk toBernhard Reutner-Fischer2010-03-301-2/+18
| | | | | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
| * prettify make cleanBernhard Reutner-Fischer2010-03-2540-82/+82
| | | | | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
| * nios2: Define INTERNAL_SYSCALL_NCS, use common sycall definesTobias Klauser2010-03-181-274/+85
| | | | | | | | | | | | | | | | | | | | Define the nios2 version of INTERNAL_SYSCALL_NCS and remove all sycall defines already defined by the common syscall defines. This will make the master branch of uClibc compile again for nios2. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
| * nios2: Update fcntl.h from m68kTobias Klauser2010-03-181-2/+4
| | | | | | | | | | Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
| * lift printf field width limitMichael Deutschmann2010-03-171-4/+4
| | | | | | | | | | | | | | | | | | | | uClibc mishandles printf field width limits larger than 40959, as a result of misguided overflow-protection code. This causes spurious test failures with GNU coreutils, which depends on "%65536s" and "%20000000f" working according to spec. Signed-off-by: Michael Deutschmann <michael@talamasca.ocis.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
| * nios2: Add sys/user.hTobias Klauser2010-03-161-0/+93
| | | | | | | | | | | | | | | | | | | | | | This is a fixed version containing copyright information. The patch should now apply using 'git am'. linux/user.h is no longer exported during kernel make headers_install Signed-off-by: Atle Nissestad <atle@nissestad.no> Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
| * pull kernel-features.h from NPTLBernhard Reutner-Fischer2010-03-051-18/+392
| | | | | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
| * poll: unavailable on linux < 2.2.0Bernhard Reutner-Fischer2010-03-042-1/+7
| | | | | | | | | | | | fixes bug #253 Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
| * libc_sh: Update memcpy to use the ENTRY macroCarmelo Amoroso2010-02-101-8/+3
| | | | | | | | | | | | Use the ENTRY macro now available through the sysdep.h header Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
| * libc_sh: Add a sysdep header for shCarmelo Amoroso2010-02-101-0/+277
| | | | | | | | | | | | | | | | | | | | | | | | A new sysdep header for sh (ported from NPTL branch) to provide some useful macros in asm code: ENTRY: an entry point visible from C PSEUDO: a wrapper for syscall with proper errno checking SYSCALL_ERROR_HANDLER: errno check (suitable for TLS) This will help in NPTL integration. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
| * libc: Add a common sysdep headerCarmelo Amoroso2010-02-101-0/+139
| | | | | | | | | | | | | | | | | | | | Add a common header file to provide macros useful in asm code: C_LABEL to construct the asm name for a C symbol cfi_xxx to generate eh_frame unwind information. Ported from NPTL branch. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
| * getdents: Fix mips64 buildAtsushi Nemoto2010-02-051-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Wed, 27 Jan 2010 07:14:08 +0100, Carmelo AMOROSO <carmelo.amoroso@st.com> wrote: > I would re-write your patch in a simpler way. > > We already have the following > > 136 #if defined __UCLIBC_HAS_LFS__ && ! defined __NR_getdents64 > 137 attribute_hidden strong_alias(__getdents,__getdents64) > 138 #endif > > I think that it's simpler to move in the proper place this statement. Thanks, indeed. If we came into "#elif WORDSIZE == 32" block, above condition never be true. So we can just move this statement out of "#if...#elif...#elif...#endif" block. Here is a revised patch. ------------------------------------------------------ From: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Subject: [PATCH] getdents: Fix mips64 build Some archs (such as mips64) do not have getdents64 syscall but have getdents syscall. Define alias for it. This fixes regression from 0.9.30.1. Backgrounds: This is once done by commit e8b1c674. But after the commit 33bcf733 ("Use getdents syscall if kernel provide supports for this instead of relying upon getdents64."), if __ASSUME_GETDENTS32_D_TYPE was defined the alias for getdents64 is not defined. The macro __ASSUME_GETDENTS32_D_TYPE had been effectively ignored until 0.9.30.1 but the commit 0f0f20ab ("Move kernel-features.h header from the linuxthread directory to a common one...") really enables it. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* | Get x86_64 compile to succeed.Khem Raj2010-02-191-1/+2
| | | | | | | | | | | | * The changes to clone.S needs testing Signed-off-by: Khem Raj <raj.khem@gmail.com>
* | sparc: disable cancellable system, as it fails in strange ways right nowAustin Foxley2010-02-191-1/+4
| | | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* | add dwarf defines used in cfi statementsAustin Foxley2010-02-191-0/+19
| | | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* | update kernel-features.h with futex featuresAustin Foxley2010-02-191-0/+17
| | | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* | fixes to get nptl compiling for x86_64Austin Foxley2010-02-192-8/+5
| | | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* | i386 unify sysdep.hAustin Foxley2010-02-181-1/+125
| | | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* | x86_64: unify sysdep.hAustin Foxley2010-02-181-0/+352
| | | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* | Get new nptl building on SH4Khem Raj2010-02-172-1/+21
| | | | | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* | compile fixes for i386 nptlAustin Foxley2010-02-171-0/+336
| | | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* | fix nptl build for sparcAustin Foxley2010-02-171-1/+5
| | | | | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com>