[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: IBM z/OS compatibility issues - per-thread locale functions
From: |
Daniel Richard G. |
Subject: |
Re: IBM z/OS compatibility issues - per-thread locale functions |
Date: |
Mon, 18 Nov 2019 00:36:32 -0500 |
User-agent: |
Cyrus-JMAP/3.1.7-562-gfd0633a-fmstable-20191114v1 |
Hi Bruno,
On Sun, 2019 Nov 17 19:17-05:00, Bruno Haible wrote:
>
> This patch should do it.
>
> 2019-11-17 Bruno Haible <address@hidden>
>
> locale, localename: Improve z/OS support.
> Reported by Daniel Richard G. in
> <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
> * m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
> gl_LOCALE_H.
> (gl_LOCALE_H): Require it.
> * m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
> defined, don't even check for newlocale, duplocale, freelocale.
> * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
> locale_t is not defined.
Thanks so much for looking at this, and the other facets. I will be
following up on all of them.
I tested Git commit 5bd825f0.
Unfortunately, I am still seeing build breakage related to attempted
duplocale() replacement:
source='/tmp/testdir/gllib/hard-locale.c' object='hard-locale.o' libtool=no
\
DEPDIR=.deps depmode=aix /bin/sh /tmp/testdir/build-aux/depcomp \
xlc-wrap -qlanglvl=extc1x -DHAVE_CONFIG_H -I. -I/tmp/testdir/gllib -I..
-DGNULIB_STRICT_CHECKING=1 -D_UNIX95_THREADS -D_XOPEN_SOURCE=600 -DNSIG=39
-qhaltonmsg=CCN3296 -g -q64 -qfloat=ieee -qenumsize=4 -c -o hard-locale.o
/tmp/testdir/gllib/hard-locale.c
ERROR CCN3166 ./locale.h:702 Definition of function locale_t requires
parentheses.
ERROR CCN3276 ./locale.h:702 Syntax error: possible missing '{'?
ERROR CCN3273 /usr/include/stdlib.h:64 Missing type in declaration of
div_t.
ERROR CCN3166 /usr/include/stdlib.h:544 Definition of function div_t
requires parentheses.
ERROR CCN3276 /usr/include/stdlib.h:544 Syntax error: possible missing
'{'?
[...]
(Line 702 is "_GL_FUNCDECL_RPL (duplocale, locale_t, ...")
This was the very problem I encountered when I tried my hand at a
patch. I could pick up on the missing locale_t, but I could not figure
out how to (cleanly) negate the "duplocale() et al. are present but
broken" outcomes.
Locale-related configure findings:
bash-2.03$ grep locale configure.out | fgrep -v '(cached)'
checking for xlocale.h... no
checking for duplocale... yes
checking for uselocale... yes
checking for newlocale... yes
checking for freelocale... yes
checking for a traditional french locale... fr_FR
checking whether locale.h defines locale_t... no
checking whether locale.h conforms to POSIX:2001... yes
checking whether uselocale works... no
checking for a traditional japanese locale... none
checking for a transitional chinese locale... none
checking for a french Unicode locale... none
checking whether the C locale is free of encoding errors... yes
checking whether wcwidth works reasonably in UTF-8 locales... yes
checking whether duplocale(LC_GLOBAL_LOCALE) works... no
checking whether setlocale supports the C locale... yes
checking whether wcrtomb works in the C locale... yes
checking for a turkish Unicode locale... none
Please let me know if there is any additional reconnaissance I can
provide that may be helpful.
--Daniel
--
Daniel Richard G. || address@hidden
My ASCII-art .sig got a bad case of Times New Roman.
Re: IBM z/OS compatibility issues - per-thread locale functions, Bruno Haible, 2019/11/17
- Re: IBM z/OS compatibility issues - per-thread locale functions,
Daniel Richard G. <=
Re: IBM z/OS compatibility issues - pthread, Bruno Haible, 2019/11/17
Re: IBM z/OS compatibility issues - shell environment, Bruno Haible, 2019/11/17
Re: IBM z/OS compatibility issues - environment variables, Bruno Haible, 2019/11/17
Re: IBM z/OS compatibility issues - miscellaneous bugs, Bruno Haible, 2019/11/17