16 Commits

Author SHA1 Message Date
Eric Andersen
badf6dd685 Hi Erik and Manuel
Long time no see :)

It appears uClibc pthreads native debugging is broken w.r.t thread exit handling in
uClibc(at least on PPC). When debugging ex7, gdb(6.2.1) bails out as
soon as a thread exits. I found a comment in gdb that TD_DEATH handling was broken for
glibc 2.3.1, so I figured that maybe it was broken in uClibc also.

I added a #if 0 #endif in pthread_exit( see patch below) and then
gdb behaved again.

While looking into this I found a few differences( included in the patch)
between glibc and uClibc. Don't know if these makes a difference, but I leave that to
you to decide.

 Jocke
2005-01-29 14:20:10 +00:00
Manuel Novoa III
f8f7b10221 Revert Peter's __lib_gettimeofday patch. There's the minor issue of
adding cruft to include/sys/time.h.  But also, there's no sense in
making changes like this until we decide how we're going to approach
the hidden symbol transition.
2004-10-31 20:23:09 +00:00
Eric Andersen
7e2b221be1 Peter S. Mazinger writes:
Hello!

Would the attached patch be acceptable (maybe instead of
__libc_gettimeofday using __gettimeofday)

We have some issues, see

http://bugs.gentoo.org/show_bug.cgi?id=65892
2004-10-19 20:10:18 +00:00
Manuel Novoa III
082e680bd5 New stdio core. Should be more maintainable. Fixes a couple of bugs.
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-02-11 23:48:50 +00:00
Eric Andersen
338237994a s/UCLIBC_HAS_MMU/ARCH_HAS_MMU/g 2004-01-16 13:43:30 +00:00
Manuel Novoa III
1217289737 Add a new *scanf implementation, includeing the *wscanf functions.
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-08-01 20:08:59 +00:00
Eric Andersen
eeb9d29da8 In a number of places we erroneously used tests such as '#ifdef PIC' when we
should instead have been testing for '#ifdef __PIC__'.  This resulted in
NON-PIC code getting mixed into the shared library.  Oops!!!
 -Erik
2003-05-30 04:47:47 +00:00
Eric Andersen
4afd53acf1 Patch from Stefan Allius adding the function 'thread_self_stack'
from glibc 2.3 that is needed for pthreads to compile for SuperH.
2003-03-04 10:47:50 +00:00
Eric Andersen
187dd78d7b Major update for pthreads, based in large part on improvements
from glibc 2.3.  This should make threads much more efficient.
 -Erik
2003-02-27 18:13:05 +00:00
Eric Andersen
cfcad9c1b1 Patch from Christian Krause:
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-30 17:19:22 +00:00
Eric Andersen
98e763d441 Just be a bit less different from latest glibc version in comments
and in the files where variables live.
2003-01-23 08:25:15 +00:00
Eric Andersen
7e6a89bcf0 Per patch from Nathan Field at ghs.com, fix __pthread_initialize_manager so it
locks before calling clone when under a debugger, and unlocks on success or
failure of clone when under a debugger.
2003-01-23 07:57:02 +00:00
Eric Andersen
3358b761b1 Based on work by Stefan Allius, arrange for early initialization of
pthread stuff.  Also, don't bother building libthread_db unless we
are debugging.
 -Erik
2002-08-19 10:05:03 +00:00
Eric Andersen
ac3f49cb80 Patch from Stefan Allius and Edie C. Dost:
In linuxthreads/errno.h the functions __errno_location and
__h_errno_location wasn't safe against calling before the
library is initialized.
2002-08-08 15:44:46 +00:00
Eric Andersen
bdcefd6212 Fix pthreads to use the rt signals if present
-Erik
2002-06-13 02:16:09 +00:00
Eric Andersen
e356ea321c Merge in the pthread library. This is the linuxthreads library taken from
glibc 2.1.3 and ported to work with uClibc by Stefan Soucek and Erik Andersen
(me).  Stefan has hacked things up such that linuxthreads runs on MMU-less
systems (tested only on arm-nommu).  Erik cleaned things up and made it work
properly as a shared library.
 -Erik
2002-02-20 09:18:50 +00:00