+2000-07-18 Ulrich Drepper <drepper@redhat.com>
+
+ * intl/Makefile: Make sure tst-translit is run after tst-gettext.
+
+ * locale/C-ctype.c: Add initializers for gap elements.
+ * locale/programs/ld-ctype.c (ctype_output): Write out index entries
+ for gap elements.
+
2000-07-16 Ulrich Drepper <drepper@redhat.com>
* nscd/nscd.c (print_version): Update copyright year.
CFLAGS-tst-gettext.c = -DTESTSTRS_H=\"$(objpfx)msgs.h\"
CFLAGS-tst-translit.c = -DOBJPFX=\"$(objpfx)\"
+$(objpfx)tst-translit.out: $(objpfx)tst-gettext.out
+
CPPFLAGS += -D'GNULOCALEDIR="$(msgcatdir)"' \
-D'LOCALE_ALIAS_PATH="$(msgcatdir):$(i18ndir)"'
YFLAGS = --name-prefix=__gettext --output
+2000-07-18 Jakub Jelinek <jakub@redhat.com>
+
+ * pthread.c (__pthread_initialize_manager): Lock
+ __pthread_manager_thread.p_lock before calling clone.
+
2000-05-05 H.J. Lu <hjl@gnu.org>
* sysdeps/ia64/pt-machine.h (__compare_and_swap): Change it to
| __pthread_initial_thread.p_eventbuf.eventmask.event_bits[idx]))
!= 0)
{
+ __pthread_lock(__pthread_manager_thread.p_lock, NULL);
+
#ifdef NEED_SEPARATE_REGISTER_STACK
pid = __clone2(__pthread_manager_event,
(void **) __pthread_manager_thread_bos,
/* Now call the function which signals the event. */
__linuxthreads_create_event ();
-
- /* Now restart the thread. */
- __pthread_unlock(__pthread_manager_thread.p_lock);
}
+
+ /* Now restart the thread. */
+ __pthread_unlock(__pthread_manager_thread.p_lock);
}
}
{
{ string: _nl_C_LC_CTYPE_class },
{ string: (const char *) _nl_C_LC_CTYPE_toupper },
+ { string: NULL },
{ string: (const char *) _nl_C_LC_CTYPE_tolower },
+ { string: NULL },
{ string: _nl_C_LC_CTYPE_class32 },
{ string: (const char *) _nl_C_LC_CTYPE_names },
+ { string: NULL },
{ word: 256 },
{ word: 1 },
{ string: "upper\0" "lower\0" "alpha\0" "digit\0" "xdigit\0" "space\0"
if (elem < _NL_ITEM_INDEX (_NL_NUM_LC_CTYPE))
switch (elem)
{
+#define CTYPE_EMPTY(name) \
+ case name: \
+ iov[2 + elem + offset].iov_base = ""; \
+ iov[2 + elem + offset].iov_len = 0; \
+ idx[elem + 1] = idx[elem]; \
+ break
+
+ CTYPE_EMPTY(_NL_CTYPE_GAP1);
+ CTYPE_EMPTY(_NL_CTYPE_GAP2);
+ CTYPE_EMPTY(_NL_CTYPE_GAP3);
+
#define CTYPE_DATA(name, base, len) \
case _NL_ITEM_INDEX (name): \
iov[2 + elem + offset].iov_base = (base); \