summaryrefslogtreecommitdiff
path: root/libpthread
AgeCommit message (Collapse)Author
2004-05-06Alexandre Oliva writes:Eric Andersen
The vfork() wrapper defined in libpthread, that's used to run pthread_atfork()-registered handlers, is not only a very bad idea, it's broken and useless. Here's the rationale: [---------snip----------] Since the implementation as it stands is broken (linking a program that vfork()s and exec()s on the child and wait()s on the parent works unless you happen to link with libpthread), and I can't think of any workable solution, I suggest that we simply remove the vfork() overrider in the non-MMU case. Yes, we might lose some small amount of functionality here, but it's not like people running uClinux expect anything resembling actual fork() to work.
2004-04-20Cope with gcc 3.4's more aggressive persuit of attribute unusedEric Andersen
2004-04-20We don't need these...Eric Andersen
2004-02-18Alexandre Oliva writes:Eric Andersen
This patch adds code to uClibc to support a new ABI designed for the FR-V architecture, that enables text segments of executables and shared libraries to be shared by multiple processes on an OS such as uClinux, that can run on FR-V processors without an MMU. Patches for binutils and GCC have just been posted in the corresponding mailing lists. The binutils patch was approved, but there's one additional patch pending review, that I posted this week. An updated GCC patch will be posted to gcc-patches@gcc.gnu.org as soon as I complete testing (I used a known-good compiler to test the uClibc patch below). Since the existing dynamic loader code didn't support independent relocation of segments, it required changes that were somewhat extensive. I've added a number of new machine-specific macros to try to keep the platform and ABI-specific details outside the generic code. I hope this is not a problem.
2004-02-11New stdio core. Should be more maintainable. Fixes a couple of bugs.Manuel Novoa III
Codepaths streamlined. Improved performance for nonthreaded apps when linked with a thread-enabled libc. Minor iconv bug and some locale/thread related startup issues fixed. These showed up in getting a gcj-compiled java helloworld app running. Removed some old extension functions... _stdio_fdout and _stdio_fsfopen.
2004-01-16We need to link with libgcc.a when creating shared libs, in order toManuel Novoa III
avoid problems 'hidden symbol' problems. Also handle -lfloat for the soft-float arm case.
2004-01-16s/UCLIBC_HAS_MMU/ARCH_HAS_MMU/gEric Andersen
2003-12-28remove unused fileEric Andersen
2003-12-27Fix a long-standing bug with pthreads. A couple of linuxthreads filesManuel Novoa III
were including libc-lock.h which had a bunch of weak pragmas. Also, uClibc supplied a number of no-op weak thread functions even though many weren't needed. This combined result was that sometimes the functional versions of thread functions in pthread would not override the weaks in libc. While fixing this, I also prepended double-underscore to all necessary weak thread funcs in uClibc, and removed all unused weaks. I did a test build, but haven't tested this since these changes are a backport from my working tree. I did test the changes there and no longer need to explicitly add -lpthread in the perl build for perl to pass its thread self tests.
2003-12-05Paul Mundt <lethal@linux-sh.org> writes:Eric Andersen
This patch adds the libpthread backend bits for sh64. As noted previously, we can't inline things like the testandset() in pt-machine.h as we need to use a completely different ISA / CFLAGS in order for this to work. As a result, this patch is somewhat of a RFC as well to see what people think of the libpthread/linuxthreads/sysdeps Makefile approach, etc. The approach I've taken currently has been to provide a sysdeps/Makefile with a note that TARGET_ARCHs that want build rules can simply add themselves into the list of matching architectures to add to the subdir rule for. This probably isn't the cleanest solution, but it's quite transparent and works quite well.
2003-11-05Arthur Shipkowski, art ! videon-central ! com, writes:Eric Andersen
I've noticed a few people have posted over the last year about problems compiling programs that use vfork when pthreads are involved. Some detective work turned up that ptfork.c aliases vfork to fork and then tries to call the original fork as __libc_fork. This patch removes the aliasing when there is no MMU present, and uses the same call semantics to call __libc_vfork. I then added a symbol to the m68k vfork.S to allow vfork to be called as __libc_vfork. The same bug exists in the uClibc CVS, and with a possible tweak this patch should go through there as well. Obviously, all other platforms need __libc_vfork as a workable means to call vfork in order for this to work for them. Let me know if there are any problems with this patch. Art Shipkowski Videon Central Software Engineer (814)235-1111 x307
2003-11-04minor cleanupEric Andersen
2003-10-31gdb wants to dlopen "libthread_db.so.1", so be sure to assignEric Andersen
the correct soname
2003-10-18Peter Kjellerstedt writes:Eric Andersen
ln.patch: * Define $(LN) as ln in Rules.mak. * Change all occurrences of ln into $(LN). * Change all constructs like (cd path && ln -sf foo/file file) into $(LN) -sf foo/file path/file. The latter construct is already used in a number of places so it should not be an additional compatibility problem.
2003-10-18Peter Kjellerstedt writes:Eric Andersen
rm.patch: * Define $(RM) as rm -f in Rules.mak and test/Rules.mak (this is the same definition as gmake uses by default). * Change all occurrences of rm and rm -f into $(RM).
2003-10-18Peter Kjellerstedt writes:Eric Andersen
install.patch: * Define $(INSTALL) as install in Rules.mak. * Change all occurrences of install into $(INSTALL). * Change all occurrences of mkdir -p into $(INSTALL) -d. install -d is already used in a number of places so this should not be an additional compatibility problem.
2003-08-29here is (I hope) a better way to handle this one. I regularly buildEric Andersen
debug versions of uClibc with -O0, but libpthread/linuxthreads/spinlock.c will not compile without at least -O1 optimization...
2003-08-01Add a new *scanf implementation, includeing the *wscanf functions.Manuel Novoa III
Should be standards compliant and with several optional features, including support for hexadecimal float notation, locale awareness, glibc-like locale-specific digit grouping with the `'' flag, and positional arg support. I tested it pretty well (finding several bugs in glibc's scanf in the process), but it is brand new so be aware. The *wprintf functions now support floating point output. Also, a couple of bugs were squashed. Finally, %a/%A conversions are now implemented. Implement the glibc xlocale interface for thread-specific locale support. Also add the various *_l(args, locale_t loc_arg) funcs. NOTE!!! setlocale() is NOT threadsafe! NOTE!!! The strto{floating point} conversion functions are now locale aware. The also now support hexadecimal floating point notation. Add the wcsto{floating point} conversion functions. Fix a bug in mktime() related to dst. Note that unlike glibc's mktime, uClibc's version always normalizes the struct tm before attempting to determine the correct dst setting if tm_isdst == -1 on entry. Add a stub version of the libintl functions. (untested) Fixed a known memory leak in setlocale() related to the collation data. Add lots of new config options (which Erik agreed to sort out :-), including finally exposing some of the stripped down stdio configs. Be careful with those though, as they haven't been tested in a long time. (temporary) GOTCHAs... The ctype functions are currently incorrect for 8-bit locales. They will be fixed shortly. The ctype functions are now table-based, resulting in larger staticly linked binaries. I'll be adding an option to use the old approach in the stub locale configuration.
2003-07-21Doing an search and replace on CFLAGS can prove dangerous. We don'tEric Andersen
do -O0 by default anyways, so leave this disabled for now.
2003-06-30Fixup symlinks to libthread_dbEric Andersen
2003-06-17When compiling with -O0, linuxthreads does not compile. So addEric Andersen
a local override changing -O0 to -O1 only for that directory.
2003-06-17Coldfire patch from Bernardo InnocentiEric Andersen
2003-06-12Set the default thread stack size to 16k for mmu-less systems.Eric Andersen
-Erik
2003-06-02Patch from Peter S. Mazinger to fix some leftover problemsEric Andersen
from converting "PIC" to "__PIC__"
2003-05-30In a number of places we erroneously used tests such as '#ifdef PIC' when weEric Andersen
should instead have been testing for '#ifdef __PIC__'. This resulted in NON-PIC code getting mixed into the shared library. Oops!!! -Erik
2003-03-13Oops. Don't call strip twiceEric Andersen
2003-03-11Make it so debugging pthreads works, even with DODEBUG turned offEric Andersen
-Erik
2003-03-11Minor cleanup to better sync with glibc 2.3Eric Andersen
2003-03-04Seperate pthread debugging from uClibc debugging. They are usedEric Andersen
for different things.
2003-03-04Patch from Stefan Allius adding the function 'thread_self_stack'Eric Andersen
from glibc 2.3 that is needed for pthreads to compile for SuperH.
2003-03-03Initial effort at adding profiling support.Eric Andersen
2003-03-03fix coldfire/68000 support properly this time, ifdef logic was back toDavid McCullough
front.
2003-03-01Use a funky version in a probably vein attempt at preventing gdbEric Andersen
from dlopen()'ing glibc's libthread_db library...
2003-02-28Fixup mips pthreadsEric Andersen
2003-02-28restore the coldfire changesDavid McCullough
2003-02-27Major update for pthreads, based in large part on improvementsEric Andersen
from glibc 2.3. This should make threads much more efficient. -Erik
2003-01-31Correct license.Miles Bader
2003-01-30Patch from Christian Krause:Eric Andersen
I found a problem in uClibc in libpthread/linuxthres/condvar.c: pthread_cond_timedwait never uses rt singals uClibc has two implementations of pthread_cond_timewait - pthread_cond_timedwait_relative_old using the "normal" signals and pthread_cond_timedwait_relative_new usign the rt signals (for kernels >= 2.2). The function pointer pthread_cond_tw_rel is initialised with the old function. In "__pthread_init_condvar(int)" this pointer is set to the new function using rt signals, but "__pthread_init_condvar" is never called in the uClibc. The following patch solves this issue, so that __pthread_init_condvars is called and the function pointer is always initialised with the correct function. regards, christian
2003-01-30Initial checkin.Miles Bader
2003-01-23Just be a bit less different from latest glibc version in commentsEric Andersen
and in the files where variables live.
2003-01-23Per patch from Nathan Field at ghs.com, fix the mips __compare_and_swap inlineEric Andersen
function. Without this fix, pthread_mutex_lock/pthread_mutex_unlock don't work on mips.
2003-01-23Per patch from Nathan Field at ghs.com, fix __pthread_initialize_manager so itEric Andersen
locks before calling clone when under a debugger, and unlocks on success or failure of clone when under a debugger.
2003-01-23Per patch from Nathan Field at ghs.com, add a couple of variablesEric Andersen
needed to make gdb happy when debugging threadded apps.
2003-01-23Fix indenting. Per patch from Nathan Field at ghs.com, changeEric Andersen
LINUXTHREADS_PTHREAD_THREADS_MAX to properly point to "__pthread_threads_max".
2003-01-02Rework sparc architecture support so it will compileEric Andersen
and run. Seems to be working... -Erik
2002-12-18whitespaceMiles Bader
2002-11-27Make support for global constructors and global destructors beEric Andersen
configurable, so people who do not need or want ctor/dtor support can disable it and make their binaries a little bit smaller. -Erik
2002-11-05Standardize LIBGCC_DIREric Andersen
2002-10-31Ok, this commit is _huge_ and its gonna change the world. I'veEric Andersen
been working on a new config system on and off for about 6 months now, but I've never been fully satisfied. Well, I'm finally am happy with the new config system, so here it is. This completely removes the old uClibc configuration system, and replaces it with an entirely new system based on LinuxKernelConf, from http://www.xs4all.nl/~zippel/lc/ As it turns out, Linus has just merged LinuxKernelConf into Linux 2.5.45, so it looks like I made the right choice. I have thus far updated only x86. I'll be updating the other architectures shortly. -Erik
2002-10-29A patch from Arne Jonsson <arne.jonsson@i3micro.com>:Eric Andersen
Attached are the changes we think is necessary in order to use user defined stacksizes for each thread. When testing I forgot to lower the PTHREAD_STACK_MIN to the lowest value used for the stacks, this caused stranged reboots. As said before, we are using uClinux 2.0.38 on a ARM7TDMI.