From e5ac76418c72f011a7ff5a9770bba39432d7bdad Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 22 Dec 2019 17:17:02 +0100 Subject: build: Update after gnulib changed. * lib/Makefile.am (libunistring.sym): Don't rename the gl_get_setlocale_null_lock function. * NEWS: Document the fixed multithread-safety bugs: 2019-12-18 Bruno Haible hard-locale: Make multithread-safe. This fix impacts mbrtowc on Cygwin and Haiku. 2019-12-17 Bruno Haible localcharset: Fix multithread-safety bug on Windows and OS/2. --- ChangeLog | 12 +++++ NEWS | 3 ++ gnulib-m4/.gitignore | 43 ++++++++++++++++++ lib/.gitignore | 8 +++- lib/Makefile.am | 1 + tests/.gitignore | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 189 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 88438d9..c52f289 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2019-12-22 Bruno Haible + + build: Update after gnulib changed. + * lib/Makefile.am (libunistring.sym): Don't rename the + gl_get_setlocale_null_lock function. + * NEWS: Document the fixed multithread-safety bugs: + 2019-12-18 Bruno Haible + hard-locale: Make multithread-safe. + This fix impacts mbrtowc on Cygwin and Haiku. + 2019-12-17 Bruno Haible + localcharset: Fix multithread-safety bug on Windows and OS/2. + 2019-12-22 Bruno Haible build: Fix spurious error message in 'doc'. diff --git a/NEWS b/NEWS index 454821b..b2892b3 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +New in 0.9.11: +* Fixed multithread-safety bugs on Cygwin, native Windows, and Haiku. + New in 0.9.10: * The functions u8_casing_prefix_context, u8_casing_prefixes_context, diff --git a/gnulib-m4/.gitignore b/gnulib-m4/.gitignore index 419c058..4e2e159 100644 --- a/gnulib-m4/.gitignore +++ b/gnulib-m4/.gitignore @@ -2,13 +2,16 @@ /00gnulib.m4 /absolute-header.m4 /alloca.m4 +/arpa_inet_h.m4 /btowc.m4 /builtin-expect.m4 +/close.m4 /codeset.m4 /configmake.m4 /ctype.m4 /dirname.m4 /double-slash-root.m4 +/dup2.m4 /eealloc.m4 /environ.m4 /errno_h.m4 @@ -19,6 +22,8 @@ /extensions.m4 /extern-inline.m4 /fcntl-o.m4 +/fcntl.m4 +/fcntl_h.m4 /fdopen.m4 /flexmember.m4 /float_h.m4 @@ -26,8 +31,13 @@ /frexp.m4 /frexpl.m4 /fseterr.m4 +/fstat.m4 +/ftruncate.m4 +/getcwd.m4 +/getdtablesize.m4 /getpagesize.m4 /getprogname.m4 +/gettimeofday.m4 /glibc21.m4 /gnulib-common.m4 /gnulib-comp.m4 @@ -38,6 +48,7 @@ /iconv_h.m4 /iconv_open.m4 /include_next.m4 +/inet_pton.m4 /inline.m4 /intl-thread-locale.m4 /intlmacosx.m4 @@ -45,12 +56,14 @@ /inttypes-pri.m4 /inttypes.m4 /inttypes_h.m4 +/ioctl.m4 /isblank.m4 /isnand.m4 /isnanf.m4 /isnanl.m4 /iswblank.m4 /langinfo_h.m4 +/largefile.m4 /lcmessage.m4 /ldexpl.m4 /lib-ld.m4 @@ -66,8 +79,10 @@ /locale-zh.m4 /locale_h.m4 /localename.m4 +/localtime-buffer.m4 /lock.m4 /longlong.m4 +/lstat.m4 /malloc.m4 /malloca.m4 /math_h.m4 @@ -80,27 +95,48 @@ /memchr.m4 /minmax.m4 /mmap-anon.m4 +/mode_t.m4 /msvc-inval.m4 /msvc-nothrow.m4 /multiarch.m4 +/nanosleep.m4 +/netinet_in_h.m4 /nocrash.m4 /off_t.m4 +/open-cloexec.m4 +/open-slash.m4 +/open.m4 +/pathmax.m4 +/perror.m4 +/pipe.m4 /printf-frexp.m4 /printf-frexpl.m4 /printf.m4 +/pthread-thread.m4 +/pthread_h.m4 /pthread_rwlock_rdlock.m4 /pthread_sigmask.m4 /putenv.m4 /raise.m4 /relocatable-lib.m4 +/sched_h.m4 +/select.m4 /setenv.m4 /setlocale.m4 +/setlocale_null.m4 +/sigaction.m4 /signal_h.m4 /signalblocking.m4 /signbit.m4 /size_max.m4 /sleep.m4 +/socketlib.m4 +/sockets.m4 +/socklen.m4 +/sockpfaf.m4 /ssize_t.m4 +/stat-time.m4 +/stat.m4 /stdalign.m4 /stdbool.m4 /stddef_h.m4 @@ -109,11 +145,18 @@ /stdio_h.m4 /stdlib_h.m4 /strerror.m4 +/strerror_r.m4 /string_h.m4 /strncat.m4 /strstr.m4 +/symlink.m4 +/sys_ioctl_h.m4 +/sys_select_h.m4 /sys_socket_h.m4 +/sys_stat_h.m4 +/sys_time_h.m4 /sys_types_h.m4 +/sys_uio_h.m4 /thread.m4 /threadlib.m4 /time_h.m4 diff --git a/lib/.gitignore b/lib/.gitignore index 6a9f731..1b9e661 100644 --- a/lib/.gitignore +++ b/lib/.gitignore @@ -35,6 +35,7 @@ /iconv_open-irix.gperf /iconv_open-osf.gperf /iconv_open-solaris.gperf +/iconv_open-zos.gperf /iconv_open.c /iconveh.h /isnan.c @@ -85,6 +86,8 @@ /relocatable.c /relocatable.h /relocatable.valgrind +/setlocale-lock.c +/setlocale_null.c /signbitd.c /signbitf.c /signbitl.c @@ -127,13 +130,15 @@ /wctype-h.c /wctype.in.h /wcwidth.c +/windows-initguard.h /windows-mutex.c /windows-mutex.h /windows-once.c /windows-once.h /windows-recmutex.c /windows-recmutex.h -/windows-spinlock.h +/windows-rwlock.c +/windows-rwlock.h /xalloc-oversized.h /xsize.c /xsize.h @@ -145,6 +150,7 @@ /iconv_open-irix.h /iconv_open-osf.h /iconv_open-solaris.h +/iconv_open-zos.h # Files generated by the autotools: /Makefile.in diff --git a/lib/Makefile.am b/lib/Makefile.am index bb05483..aa32f57 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -308,6 +308,7 @@ config.h: $(BUILT_SOURCES) $(srcdir)/libunistring.sym | sed -e 's,.* ,,' | grep -v '@' | LC_ALL=C sort | LC_ALL=C uniq \ | LC_ALL=C join -v 1 - $(srcdir)/libunistring.sym \ | grep -v '^libintl_locale' \ + | grep -v 'gl_get_setlocale_null_lock' \ | sed -e 's,^\(.*\)$$,#define \1 libunistring_\1,' > config.h-t; \ } 6>&1 && \ if test -f config.h; then \ diff --git a/tests/.gitignore b/tests/.gitignore index bcb1541..e903908 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -1,29 +1,58 @@ # Files brought in by gnulib-tool: /Makefile.gnulib /_Noreturn.h +/accept.c +/alloca.c /arg-nonnull.h +/arpa_inet.in.h /basename-lgpl.c +/binary-io.c +/binary-io.h +/bind.c /btowc.c /c++defs.h +/cloexec.c +/cloexec.h +/close.c +/connect.c /ctype.in.h /dirname-lgpl.c /dirname.h /dosname.h +/dup2.c /error.c /error.h /exitfail.c /exitfail.h +/fcntl.c +/fcntl.in.h +/fd-hook.c +/fd-hook.h /fdopen.c +/filename.h +/fstat.c +/ftruncate.c +/getcwd-lgpl.c +/getdtablesize.c /getpagesize.c /getprogname.c /getprogname.h /gettext.h +/gettimeofday.c /iconvsupport.c +/ignore-value.h +/inet_pton.c /infinity.h /init.sh /intprops.h /inttypes.in.h +/ioctl.c /isblank.c +/listen.c +/locale.c +/localtime-buffer.c +/localtime-buffer.h +/lstat.c /macros.h /mbtowc-impl.h /mbtowc.c @@ -33,25 +62,63 @@ /msvc-nothrow.c /msvc-nothrow.h /nan.h +/nanosleep.c +/nap.h +/netinet_in.in.h +/open.c +/pathmax.h +/perror.c +/pipe.c +/pthread-thread.c +/pthread.in.h /pthread_sigmask.c /putenv.c /raise.c /randomd.c /randoml.c +/same-inode.h +/sched.in.h +/select.c /setenv.c /setlocale.c +/setsockopt.c +/sig-handler.c +/sig-handler.h +/sigaction.c /signal.in.h /signature.h /sigprocmask.c /sleep.c +/socket.c +/sockets.c +/sockets.h +/stat-time.c +/stat-time.h +/stat-w32.c +/stat-w32.h +/stat.c /stdalign.in.h /stdio.in.h /strerror-override.c /strerror-override.h /strerror.c +/strerror_r.c /stripslash.c +/symlink.c +/sys_ioctl.in.h +/sys_select.in.h +/sys_socket.c +/sys_socket.in.h +/sys_stat.in.h +/sys_time.in.h +/sys_uio.in.h +/test-accept.c /test-alloca-opt.c +/test-arpa_inet.c /test-array-mergesort.c +/test-binary-io.c +/test-binary-io.sh +/test-bind.c /test-btowc.c /test-btowc1.sh /test-btowc2.sh @@ -59,9 +126,15 @@ /test-c-strcase.sh /test-c-strcasecmp.c /test-c-strncasecmp.c +/test-cloexec.c +/test-close.c +/test-connect.c /test-ctype.c +/test-dup2.c /test-environ.c /test-errno.c +/test-fcntl-h.c +/test-fcntl.c /test-fdopen.c /test-fgetc.c /test-float.c @@ -71,13 +144,23 @@ /test-frexp.h /test-frexpl.c /test-fseterr.c +/test-fstat.c +/test-ftruncate.c +/test-ftruncate.sh /test-fwrite.c +/test-getcwd-lgpl.c +/test-getdtablesize.c /test-getprogname.c +/test-gettimeofday.c +/test-hard-locale.c /test-iconv-h.c /test-iconv.c +/test-ignore-value.c +/test-inet_pton.c /test-init.sh /test-intprops.c /test-inttypes.c +/test-ioctl.c /test-isblank.c /test-isnand-nolibm.c /test-isnand.h @@ -88,10 +171,13 @@ /test-iswblank.c /test-langinfo.c /test-limits-h.c +/test-listen.c /test-localcharset.c /test-locale.c /test-localename.c /test-lock.c +/test-lstat.c +/test-lstat.h /test-malloca.c /test-math.c /test-mbrtowc-w32-1.sh @@ -109,22 +195,49 @@ /test-mbsinit.c /test-mbsinit.sh /test-memchr.c +/test-nanosleep.c +/test-netinet_in.c /test-once.c +/test-open.c +/test-open.h +/test-pathmax.c +/test-perror.c +/test-perror.sh +/test-perror2.c +/test-pipe.c /test-printf-frexp.c /test-printf-frexpl.c +/test-pthread-thread.c +/test-pthread.c /test-pthread_sigmask1.c /test-pthread_sigmask2.c /test-raise.c /test-rwlock1.c +/test-sched.c +/test-select-fd.c +/test-select-in.sh +/test-select-out.sh +/test-select-stdin.c +/test-select.c +/test-select.h /test-setenv.c /test-setlocale1.c /test-setlocale1.sh /test-setlocale2.c /test-setlocale2.sh +/test-setlocale_null-mt-all.c +/test-setlocale_null-mt-one.c +/test-setlocale_null.c +/test-setsockopt.c +/test-sigaction.c /test-signal-h.c /test-signbit.c /test-sigprocmask.c /test-sleep.c +/test-sockets.c +/test-stat-time.c +/test-stat.c +/test-stat.h /test-stdalign.c /test-stdbool.c /test-stddef.c @@ -132,12 +245,21 @@ /test-stdio.c /test-stdlib.c /test-strerror.c +/test-strerror_r.c /test-striconveh.c /test-striconveha.c /test-string.c /test-strncat.c /test-strstr.c +/test-symlink.c +/test-symlink.h +/test-sys_ioctl.c +/test-sys_select.c +/test-sys_socket.c +/test-sys_stat.c +/test-sys_time.c /test-sys_types.c +/test-sys_uio.c /test-sys_wait.h /test-thread_create.c /test-thread_self.c @@ -165,6 +287,7 @@ /unsetenv.c /unused-parameter.h /usleep.c +/w32sock.h /warn-on-use.h /wcrtomb.c /wctob.c -- cgit v1.2.1