diff options
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | linuxthreads/ChangeLog | 10 | ||||
-rw-r--r-- | linuxthreads/Makefile | 4 | ||||
-rw-r--r-- | linuxthreads/pthread.c | 2 | ||||
-rw-r--r-- | linuxthreads/tst-static-locale.c | 13 | ||||
-rw-r--r-- | locale/duplocale.c | 1 |
6 files changed, 29 insertions, 3 deletions
@@ -1,5 +1,7 @@ 2002-08-30 Roland McGrath <roland@redhat.com> + * locale/duplocale.c: Include <string.h>. + * intl/dcigettext.c (DCIGETTEXT) [_LIBC]: Check for bogus CATEGORY. [_LIBC] (category_to_name): Don't define the function. Instead define a macro using _nl_category_names. diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 93193ae754..ec9befe04b 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,13 @@ +2002-08-30 Jakub Jelinek <jakub@redhat.com> + + * pthread.c (__pthread_initialize_minimal): Call __uselocale even + if [! SHARED]. + +2002-08-30 Roland McGrath <roland@redhat.com> + + * tst-static-locale.c: New file. + * Makefile (tests, tests-static): Add it. + 2002-04-24 Steven Munroe <sjmunroe@us.ibm.com> * spinlock.c (__pthread_lock): Fix spurious wakeup diff --git a/linuxthreads/Makefile b/linuxthreads/Makefile index ba4327921a..4f94de373e 100644 --- a/linuxthreads/Makefile +++ b/linuxthreads/Makefile @@ -65,8 +65,8 @@ tests = ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 ex9 $(librt-tests) ex12 ex13 joinrace \ test-srcs = tst-signal ifeq ($(build-static),yes) -tests += tststatic -tests-static += tststatic +tests += tststatic tst-static-locale +tests-static += tststatic tst-static-locale endif ifeq (yes,$(build-shared)) diff --git a/linuxthreads/pthread.c b/linuxthreads/pthread.c index ae40254982..f08bfd4652 100644 --- a/linuxthreads/pthread.c +++ b/linuxthreads/pthread.c @@ -479,7 +479,7 @@ __pthread_initialize_minimal(void) # endif #endif -#if !(USE_TLS && HAVE___THREAD) && defined SHARED +#if !(USE_TLS && HAVE___THREAD) /* Initialize thread-locale current locale to point to the global one. With __thread support, the variable's initializer takes care of this. */ __uselocale (LC_GLOBAL_LOCALE); diff --git a/linuxthreads/tst-static-locale.c b/linuxthreads/tst-static-locale.c new file mode 100644 index 0000000000..3c88e729ba --- /dev/null +++ b/linuxthreads/tst-static-locale.c @@ -0,0 +1,13 @@ +/* Test that the thread-local locale works right in the main thread + when statically linked. */ + +#include "../locale/tst-C-locale.c" + +#include <pthread.h> + +/* This is never called, just here to get pthreads linked in. */ +void +useless (void) +{ + pthread_create (0, 0, 0, 0); +} diff --git a/locale/duplocale.c b/locale/duplocale.c index df856a2a83..0e1e673598 100644 --- a/locale/duplocale.c +++ b/locale/duplocale.c @@ -21,6 +21,7 @@ #include <locale.h> #include <bits/libc-lock.h> #include <stdlib.h> +#include <string.h> #include <localeinfo.h> |