Tests run using the default $(make-test-out) automatically get
GCONV_PATH and LC_ALL set, whether or not those environment variables
are actually needed for the individual test. However, they do not get
LOCPATH set, meaning that a large number of tests have -ENV settings
just to set LOCPATH.
This patch moves LOCPATH into the default environment used for all
tests, on the principle that like GCONV_PATH any settings needed to
use files associated with the newly built library, rather than any old
installed files, are appropriate to use by default.
A further motivation is that various tests using .sh files also set
some combination of LC_ALL, GCONV_PATH and LOCPATH. Preferably .sh
files should also use the default environment with any additions
required for the individual test. Now, it was suggested in
<https://sourceware.org/ml/libc-alpha/2014-05/msg00715.html> that
various Makefile variables used in testing should be derived by
composing the -before-env and -after-env variables used when explicit
environment settings are required. With such a change, it's also
natural for those variables to include the default settings (via some
intermediate makefile variable also used in make-test-out).
Because some .sh files only set variables that correspond to the
default settings, or a subset thereof, and this applies to more of the
.sh files once LOCPATH is in the default settings, doing so reduces
the size of a revised version of
<https://sourceware.org/ml/libc-alpha/2014-05/msg00596.html>: scripts
only needing the (expanded) default settings will not need to receive
the separate -before-env and -after-env variables, only the single
variable they do at present. So moving LOCPATH into the default
settings can reduce churn caused by subsequent patches.
Tested x86_64 and x86.
* Rules (make-test-out): Include
LOCPATH=$(common-objpfx)localedata in default environment.
* debug/Makefile (tst-chk1-ENV): Remove variable.
(tst-chk2-ENV): Likewise.
(tst-chk3-ENV): Likewise.
(tst-chk4-ENV): Likewise.
(tst-chk5-ENV): Likewise.
(tst-chk6-ENV): Likewise.
(tst-lfschk1-ENV): Likewise.
(tst-lfschk2-ENV): Likewise.
(tst-lfschk3-ENV): Likewise.
(tst-lfschk4-ENV): Likewise.
(tst-lfschk5-ENV): Likewise.
(tst-lfschk6-ENV): Likewise.
* iconvdata/Makefile (bug-iconv6-ENV): Likewise.
(tst-iconv7-ENV): Likewise.
* intl/Makefile (LOCPATH-ENV): Likewise.
(tst-codeset-ENV): Likewise.
(tst-gettext3-ENV): Likewise.
(tst-gettext5-ENV): Likewise.
* libio/Makefile (tst-widetext-ENV): Don't set LOCPATH.
(tst-fopenloc-ENV): Likewise.
(tst-fgetws-ENV): Remove variable.
(tst-ungetwc1-ENV): Likewise.
(tst-ungetwc2-ENV): Likewise.
(bug-ungetwc2-ENV): Likewise.
(tst-swscanf-ENV): Likewise.
(bug-ftell-ENV): Likewise.
(tst-fgetwc-ENV): Likewise.
(tst-fseek-ENV): Likewise.
(tst-ftell-partial-wide-ENV): Likewise.
(tst-ftell-active-handler-ENV): Likewise.
(tst-ftell-append-ENV): Likewise.
* posix/Makefile (tst-fnmatch-ENV): Likewise.
(tst-regexloc-ENV): Likewise.
(bug-regex1-ENV): Likewise.
(tst-regex-ENV): Likewise.
(tst-regex2-ENV): Likewise.
(bug-regex5-ENV): Likewise.
(bug-regex6-ENV): Likewise.
(bug-regex17-ENV): Likewise.
(bug-regex18-ENV): Likewise.
(bug-regex19-ENV): Likewise.
(bug-regex20-ENV): Likewise.
(bug-regex22-ENV): Likewise.
(bug-regex23-ENV): Likewise.
(bug-regex25-ENV): Likewise.
(bug-regex26-ENV): Likewise.
(bug-regex30-ENV): Likewise.
(bug-regex32-ENV): Likewise.
(bug-regex33-ENV): Likewise.
(bug-regex34-ENV): Likewise.
(bug-regex35-ENV): Likewise.
(tst-rxspencer-ENV): Likewise.
(tst-rxspencer-no-utf8-ENV): Likewise.
* stdio-common/Makefile (tst-sprintf-ENV): Likewise.
(tst-sscanf-ENV): Likewise.
(tst-swprintf-ENV): Likewise.
(tst-swscanf-ENV): Likewise.
(test-vfprintf-ENV): Likewise.
(scanf13-ENV): Likewise.
(bug14-ENV): Likewise.
(tst-grouping-ENV): Likewise.
* stdlib/Makefile (tst-strtod-ENV): Likewise.
(tst-strtod3-ENV): Likewise.
(tst-strtod4-ENV): Likewise.
(tst-strtod5-ENV): Likewise.
(testmb2-ENV): Likewise./
* string/Makefile (tst-strxfrm-ENV): Likewise.
(tst-strxfrm2-ENV): Likewise.
(bug-strcoll1-ENV): Likewise.
(test-strcasecmp-ENV): Likewise.
(test-strncasecmp-ENV): Likewise.
* time/Makefile (tst-strptime-ENV): Likewise.
(tst-ftime_l-ENV): Likewise.
* wcsmbs/Makefile (tst-btowc-ENV): Likewise.
(tst-mbrtowc-ENV): Likewise.
(tst-wcrtomb-ENV): Likewise.
(tst-mbrtowc2-ENV): Likewise.
(tst-c16c32-1-ENV): Likewise.
(tst-mbsnrtowcs-ENV): Likewise.
localedata/ChangeLog:
* Makefile (TEST_MBWC_ENV): Remove variable.
(tst_iswalnum-ENV): Likewise.
(tst_iswalpha-ENV): Likewise.
(tst_iswcntrl-ENV): Likewise.
(tst_iswctype-ENV): Likewise.
(tst_iswdigit-ENV): Likewise.
(tst_iswgraph-ENV): Likewise.
(tst_iswlower-ENV): Likewise.
(tst_iswprint-ENV): Likewise.
(tst_iswpunct-ENV): Likewise.
(tst_iswspace-ENV): Likewise.
(tst_iswupper-ENV): Likewise.
(tst_iswxdigit-ENV): Likewise.
(tst_mblen-ENV): Likewise.
(tst_mbrlen-ENV): Likewise.
(tst_mbrtowc-ENV): Likewise.
(tst_mbsrtowcs-ENV): Likewise.
(tst_mbstowcs-ENV): Likewise.
(tst_mbtowc-ENV): Likewise.
(tst_strcoll-ENV): Likewise.
(tst_strfmon-ENV): Likewise.
(tst_strxfrm-ENV): Likewise.
(tst_swscanf-ENV): Likewise.
(tst_towctrans-ENV): Likewise.
(tst_towlower-ENV): Likewise.
(tst_towupper-ENV): Likewise.
(tst_wcrtomb-ENV): Likewise.
(tst_wcscat-ENV): Likewise.
(tst_wcschr-ENV): Likewise.
(tst_wcscmp-ENV): Likewise.
(tst_wcscoll-ENV): Likewise.
(tst_wcscpy-ENV): Likewise.
(tst_wcscspn-ENV): Likewise.
(tst_wcslen-ENV): Likewise.
(tst_wcsncat-ENV): Likewise.
(tst_wcsncmp-ENV): Likewise.
(tst_wcsncpy-ENV): Likewise.
(tst_wcspbrk-ENV): Likewise.
(tst_wcsrtombs-ENV): Likewise.
(tst_wcsspn-ENV): Likewise.
(tst_wcsstr-ENV): Likewise.
(tst_wcstod-ENV): Likewise.
(tst_wcstok-ENV): Likewise.
(tst_wcstombs-ENV): Likewise.
(tst_wcswidth-ENV): Likewise.
(tst_wcsxfrm-ENV): Likewise.
(tst_wctob-ENV): Likewise.
(tst_wctomb-ENV): Likewise.
(tst_wctrans-ENV): Likewise.
(tst_wctype-ENV): Likewise.
(tst_wcwidth-ENV): Likewise.
(tst-digits-ENV): Likewise.
(tst-mbswcs6-ENV): Likewise.
(tst-xlocale1-ENV): Likewise.
(tst-xlocale2-ENV): Likewise.
(tst-strfmon1-ENV): Likewise.
(tst-strptime-ENV): Likewise.
(tst-setlocale-ENV): Don't set LOCPATH.
(bug-iconv-trans-ENV): Remove variable.
(tst-sscanf-ENV): Likewise.
(tst-leaks-ENV): Don't set LOCPATH.
(bug-setlocale1-ENV): Remove variable.
(bug-setlocale1-static-ENV): Likewise.
(tst-setlocale2-ENV): Likewise.
As previously noted
<https://sourceware.org/ml/libc-alpha/2013-05/msg00696.html>,
$(elf-objpfx) and $(elfobjdir) are redundant and should be
consolidated. This patch consolidates on $(elf-objpfx) (for
consistency with $(csu-objpfx)), also changing direct uses of
$(common-objpfx)elf/ to use $(elf-objpfx).
Tested x86_64, including that installed shared libraries are unchanged
by the patch.
* Makeconfig [$(build-hardcoded-path-in-tests) = yes]
(rtld-tests-LDFLAGS): Use $(elf-objpfx) instead of
$(common-objpfx)elf/.
(link-libc-before-gnulib): Likewise.
(elfobjdir): Remove variable.
* Makefile (install): Use $(elf-objpfx) instead of
$(common-objpfx)elf/.
* Makerules (link-libc-args): Use $(elf-objpfx) instead of
$(elfobjdir)/.
(link-libc-deps): Likewise.
($(common-objpfx)libc.so): Likewise.
($(common-objpfx)linkobj/libc.so): Likewise.
[$(cross-compiling) = no] (symbolic-link-prog): Use $(elf-objpfx)
instead of $(common-objpfx)elf/.
(symbolic-link-list): Likewise.
* iconvdata/Makefile ($(inst_gconvdir)/gconv-modules)
[$(cross-compiling) = no]: Likewise.
* sysdeps/arm/Makefile (gnulib-arch): Use $(elf-objpfx) instead of
$(elfobjdir)/.
(static-gnulib-arch): Likewise.
* sysdeps/s390/s390-64/Makefile ($(inst_gconvdir)/gconv-modules)
[$(cross-compiling) = no]: Use $(elf-objpfx) instead of
$(common-objpfx)elf/.
localedata/ChangeLog:
* Makefile (LOCALEDEF): Use $(elf-objpfx) instead of
$(common-objpfx)elf/.
This patch systematically renames miscellaneous tests so their outputs
use a *.out name (unless the test is just running some glibc program
with its conventional output file name, rather than a special program
at all, as in catgets tests generating *.cat). In the case of the
iconv test test-iconvconfig, output is redirected where it wasn't
before.
In various places the "generated" variable is updated to reflect the
revised test names; in iconvdata/Makefile a typo (mmtrace-tst-loading)
is also fixed. resolv/Makefile sets both "generate" (which appears
unused) and "generated". Bitrot in the settings of these variables
could no doubt be fixed so that "make clean" after build and testing
leaves results the same as after configure (and indeed the
tests-special / xtests-special variables could be used to simplify
things, by removing those files automatically rather than listing them
manually in these variables), and "make distclean" leaves an empty
build directory, but right now it appears various files don't get
deleted. I think they are liable to continue to bitrot in the absence
of routine testing that these targets actually work, given that
building in the source directory isn't supported and that was the main
use of such makefile targets.
Tested x86_64.
* elf/Makefile (tests-special): Rename tests to end with .out.
($(objpfx)noload-mem): Likewise.
($(objpfx)tst-leaks1-mem): Likewise.
($(objpfx)tst-leaks1-static-mem.out): Likewise.
* iconv/Makefile (xtests-special): Change test-iconvconfig to
$(objpfx)test-iconvconfig.out.
(test-iconvconfig): Change to $(objpfx)test-iconvconfig.out. Use
set -e inside subshell and redirect output to file.
* iconvdata/Makefile (generated): Rename tests to end with .out.
Correct type.
(tests-special): Rename tests to end with .out.
($(objpfx)mtrace-tst-loading): Likewise.
* intl/Makefile (generated): Likewise.
(tests-special): Likewise.
($(objpfx)mtrace-tst-gettext): Likewise.
* misc/Makefile (generated): Likewise.
(tests-special): Likewise.
($(objpfx)tst-error1-mem): Likewise.
* nptl/Makefile (tests-special): Likewise.
($(objpfx)tst-stack3-mem): Likewise.
(generated): Likewise.
* posix/Makefile (generated): Likewise.
(tests-special): Likewise.
(xtests-special): Likewise.
($(objpfx)tst-fnmatch-mem): Likewise.
($(objpfx)bug-regex2-mem): Likewise.
($(objpfx)bug-regex14-mem): Likewise.
($(objpfx)bug-regex21-mem): Likewise.
($(objpfx)bug-regex31-mem): Likewise.
($(objpfx)tst-vfork3-mem): Likewise.
($(objpfx)tst-rxspencer-no-utf8-mem): Likewise.
($(objpfx)tst-pcre-mem): Likewise.
($(objpfx)tst-boost-mem): Likewise.
($(objpfx)bug-ga2-mem): Likewise.
($(objpfx)bug-glob2-mem): Likewise.
* resolv/Makefile (generate): Likewise.
(tests-special): Likewise.
(xtests-special): Likewise.
(generated): Likewise.
($(objpfx)mtrace-tst-leaks): Likewise.
($(objpfx)mtrace-tst-leaks2): Likewise.
localedata:
* Makefile (generated): Rename tests to end with .out.
(tests-special): Likewise.
($(objpfx)mtrace-tst-leaks): Likewise.
This patch is a revised and updated version of
<https://sourceware.org/ml/libc-alpha/2014-01/msg00196.html>.
In order to generate overall summaries of the results of all tests in
the glibc testsuite, we need to identify and concatenate the files
with the results of individual tests.
Tomas Dohnalek's patch used $(common-objpfx)*/*.test-result for this.
However, the normal glibc approach is explicit enumeration of the
expected set of files with a given property, rather than all files
matching some pattern like that. Furthermore, we would like to be
able to mark tests as UNRESOLVED if the file with their results is for
some reason missing, and in future we would like to be able to mark
tests as UNSUPPORTED if they are disabled for a particular
configuration (rather than simply having them missing from the list of
tests as at present). Such handling of tests that were not run or did
not record results requires an explicit enumeration of tests.
For the tests following the default makefile rules, $(tests) (and
$(xtests)) provides such an enumeration. Others, however, are added
directly as dependencies of the "tests" and "xtests" makefile
targets. This patch changes the makefiles to put them in variables
tests-special and xtests-special, with appropriate dependencies on the
tests listed there then being added centrally.
Those variables are used in Rules and so need to be set before Rules
is included in a subdirectory makefile, which is often earlier in the
makefile than the dependencies were present before. We previously
discussed the question of where to include Rules; see the question at
<https://sourceware.org/ml/libc-alpha/2012-11/msg00798.html>, and a
discussion in
<https://sourceware.org/ml/libc-alpha/2013-01/msg00337.html> of why
Rules is included early rather than late in subdirectory makefiles.
It was necessary to avoid an indirection through the check-abi target
and get the check-abi-* targets for individual libraries into the
tests-special variable. The intl/ test $(objpfx)tst-gettext.out,
previously built only because of dependencies from other tests, was
also added to tests-special for the same reason.
The entries in tests-special are the full makefile targets, complete
with $(objpfx) and .out. If a future change causes tests to be named
consistently with a .out suffix, this can be changed to include just
the path relative to $(objpfx), without .out.
Tested x86_64, including that the same set of files is generated in
the build directory by a build and testsuite run both before and after
the patch (except for changes to the
elf/tst-null-argv.debug.out.<number> file name), and a build with
run-built-tests=no to verify there aren't any more obvious instances
of the issue Marcus Shawcroft reported with a previous version in
<https://sourceware.org/ml/libc-alpha/2014-01/msg00462.html>.
* Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
(tests): Depend on $(tests-special).
* Makerules (check-abi-list): New variable.
(check-abi): Depend on $(check-abi-list).
[$(subdir) = elf] (tests-special): Add
$(objpfx)check-abi-libc.out.
[$(build-shared) = yes && subdir] (tests-special): Add
$(check-abi-list).
[$(build-shared) = yes && subdir] (tests): Do not depend on
check-abi.
* Rules (tests): Depend on $(tests-special).
(xtests): Depend on $(xtests-special).
* catgets/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
* conform/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
* elf/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
* grp/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
* iconv/Makefile (xtests): Change dependencies to ....
(xtests-special): ... additions to this variable.
* iconvdata/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
* intl/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable. Also add
$(objpfx)tst-gettext.out.
* io/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
* libio/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
* malloc/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
* misc/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
* nptl/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
* nptl_db/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
* posix/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
(xtests): Change dependencies to ....
(xtests-special): ... additions to this variable.
* resolv/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
(xtests): Change dependencies to ....
(xtests-special): ... additions to this variable.
* stdio-common/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
(do-tst-unbputc): Remove target.
(do-tst-printf): Likewise.
* stdlib/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
* string/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
* sysdeps/x86/Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
localedata:
* Makefile (tests): Change dependencies to ....
(tests-special): ... additions to this variable.
In <https://sourceware.org/ml/libc-alpha/2014-01/msg00196.html> I
noted it was necessary to add includes of Makeconfig early in various
subdirectory makefiles for the tests-special variable settings added
by that patch to be conditional on configuration information. No-one
commented on the general question there of whether Makeconfig should
always be included immediately after the definition of subdir.
This patch implements that early inclusion of Makeconfig in each
directory (which is a lot easier than consistent placement of includes
of Rules). Includes are added if needed, or moved up if already
present. Subdirectory "all:" targets are removed, since Makeconfig
provides one.
There is potential for further cleanups I haven't done. Rules and
Makerules have code such as
ifneq "$(findstring env,$(origin headers))" ""
headers :=
endif
to override to empty any value of various variables that came from the
environment. I think there is a case for Makeconfig setting all the
subdirectory variables (other than subdir) to empty to ensure no
outside value is going to take effect if a subdirectory fails to
define a variable. (A list of such variables, possibly out of date
and incomplete, is in manual/maint.texi.) Rules and Makerules would
give errors if Makeconfig hadn't already been included, instead of
including it themselves. The special code to override values coming
from the environment would then be obsolete and could be removed.
Tested x86_64, including that installed binaries are identical before
and after the patch.
* argp/Makefile: Include Makeconfig immediately after defining
subdir.
* assert/Makefile: Likewise.
* benchtests/Makefile: Likewise.
* catgets/Makefile: Likewise.
* conform/Makefile: Likewise.
* crypt/Makefile: Likewise.
* csu/Makefile: Likewise.
(all): Remove target.
* ctype/Makefile: Include Makeconfig immediately after defining
subdir.
* debug/Makefile: Likewise.
* dirent/Makefile: Likewise.
* dlfcn/Makefile: Likewise.
* gmon/Makefile: Likewise.
* gnulib/Makefile: Likewise.
* grp/Makefile: Likewise.
* gshadow/Makefile: Likewise.
* hesiod/Makefile: Likewise.
* hurd/Makefile: Likewise.
(all): Remove target.
* iconvdata/Makefile: Include Makeconfig immediately after
defining subdir.
* inet/Makefile: Likewise.
* intl/Makefile: Likewise.
* io/Makefile: Likewise.
* libio/Makefile: Likewise.
(all): Remove target.
* locale/Makefile: Include Makeconfig immediately after defining
subdir.
* login/Makefile: Likewise.
* mach/Makefile: Likewise.
(all): Remove target.
* malloc/Makefile: Include Makeconfig immediately after defining
subdir.
(all): Remove target.
* manual/Makefile: Include Makeconfig immediately after defining
subdir.
* math/Makefile: Likewise.
* misc/Makefile: Likewise.
* nis/Makefile: Likewise.
* nss/Makefile: Likewise.
* po/Makefile: Likewise.
(all): Remove target.
* posix/Makefile: Include Makeconfig immediately after defining
subdir.
* pwd/Makefile: Likewise.
* resolv/Makefile: Likewise.
* resource/Makefile: Likewise.
* rt/Makefile: Likewise.
* setjmp/Makefile: Likewise.
* shadow/Makefile: Likewise.
* signal/Makefile: Likewise.
* socket/Makefile: Likewise.
* soft-fp/Makefile: Likewise.
* stdio-common/Makefile: Likewise.
* stdlib/Makefile: Likewise.
* streams/Makefile: Likewise.
* string/Makefile: Likewise.
* sunrpc/Makefile: Likewise.
(all): Remove target.
* sysvipc/Makefile: Include Makeconfig immediately after defining
subdir.
* termios/Makefile: Likewise.
* time/Makefile: Likewise.
* timezone/Makefile: Likewise.
(all): Remove target.
* wcsmbs/Makefile: Include Makeconfig immediately after defining
subdir.
* wctype/Makefile: Likewise.
libidn/ChangeLog:
* Makefile: Include Makeconfig immediately after defining subdir.
localedata/ChangeLog:
* Makefile: Include Makeconfig immediately after defining subdir.
(all): Remove target.
nptl/ChangeLog:
* Makefile: Include Makeconfig immediately after defining subdir.
nptl_db/ChangeLog:
* Makefile: Include Makeconfig immediately after defining subdir.
[BZ #14134]
When converting IBM930 code with iconv(), if IBM930 code which
includes invalid multibyte character "0xffff" is specified, then
iconv() segfaults. This is easy to see using the following command:
echo '0x0e 0x43 0x8c 0xff 0xff 0x43 0xbd 0x43 0xbd' | xxd -r |
iconv -f IBM930 -t UTF-8
It isn't necessary to buffer the last character of strings. This can cause a
bug with strings that have 1 character between 0x0041 and 0x01b0.
[BZ #13691]
* iconvdata/tcvn5712-1.c (FROM_LOOP): Fix a bug when converting strings
with only 1 character between 0x0041 and 0x01b0.
* wcsmbs/Makefile (tests): Add tst-mbsnrtowcs.
* wcsmbs/tst-mbsnrtowcs.c: New file.
2007-11-07 Ulrich Drepper <drepper@redhat.com>
[BZ #5277]
* iconv/loop.c (STANDARD_TO_LOOP_ERR_HANDLER): If conversion failed
because output buffer is too small break, don't loop.
* iconvdata/Makefile (tests): Add bug-iconv6.
* iconvdata/bug-iconv6.c: New file.
2007-08-21 Ulrich Drepper <drepper@redhat.com>
[BZ #4936]
* iconv/gconv.c (__gconv): If flush was successful, clear rest of
the state.
* iconvdata/Makefile: Add rules to build and run bug-iconv5.
* iconvdata/bug-iconv5.c: New file.
[BZ #4896]
char array resp. pointer.
* iconvdata/iso-2022-kr.c (BODY): Make buf unsigned char instead of
char array.
* iconvdata/cns11643.h (cns11643_to_ucs4): Change first argument
to const unsigned char **.
(ucs4_to_cns11643): Change second argument to unsigned char *.
* iconvdata/euc-tw.c (BODY): Change endp type to
const unsigned char *.
* iconvdata/iso-ir-165.h (ucs4_to_isoir165): Change second argument
to unsigned char *.
* iconvdata/ibm1008_420.c (LOOP_NEED_FLAGS): Don't define.
* iconvdata/iso-2022-cn.c (BODY): Change buf to unsigned char array.
* iconvdata/iso-2022-cn-ext.c (BODY): Change buf, tmpbuf, tmp
types to unsigned char pointers/arrays instead of char.
* iconvdata/jis0201.h (ucs4_to_jisx0201): Change second argument
to unsigned char *.
* iconvdata/jis0208.h (ucs4_to_jisx0208): Likewise.
* iconvdata/jis0212.h: Include assert.h.
(ucs4_to_jisx0212): Change second argument to unsigned char *.
assert that if cp[0] is not '\0', cp[1] is not '\0' either instead
of trying to handle that.
* iconvdata/euc-kr.c (euckr_from_ucs4): Initialize also cp[1] to
shut up a warning.
* iconvdata/euc-jp-ms.c (from_ucs4_lat1, from_ucs4_greek,
from_ucs4_cjk, from_ucs4_cjkcpt, from_ucs4_extra): Change type to
two dimensional const unsigned char arrays.
(BODY): Cast "" to (const unsigned char *) for assignment to cp.
Initialize endp to inptr to shut up a warning.
* iconvdata/gconv-modules (E13B): Add a missing slash to the alias
name. Patch by Aurelien Jarno <aurelien@aurel32.net>.
2007-04-23 Jakub Jelinek <jakub@redhat.com>
[BZ #4405]
* iconvdata/gconv-modules (E13B): Add a missing slash to the alias
name. Patch by Aurelien Jarno <aurelien@aurel32.net>.
* iconvdata/ksc5601.c (__ksc5601_sym_to_ucs, __ksc5601_sym_from_ucs):
Add mapping for U+327E.
* iconvdata/ksc5601.h (KSC5601_SYMBOL): Increment.
* iconvdata/johab.c (BODY for FROM_LOOP, BODY for TO_LOOP): Enable
mapping of 0xD9 0xE8.
* iconvdata/uhc.c (BODY for FROM_LOOP, BODY for TO_LOOP): Disable
mapping of U+327E.
Reported by Jungshik Shin <jungshik@google.com>.
[BZ #3955]
(distribute): Add iso_11548-1.c.
* iconvdata/gconv-modules: Add entries for ISO 11548-1.
* iconvdata/TESTS: Add entry for ISO 11548-1.
[BZ 1872]
* iconvdata/iso_11548-1.c: New file.
* iconvdata/testdata/ISO_11548-1: New file.
* iconvdata/testdata/ISO_11548-1..UTF8: New file.
Patch by Samuel Thibault <samuel.thibault@ens-lyon.org>.
2005-10-19 Ulrich Drepper <drepper@redhat.com>
* iconvdata/Makefile (modules): Add IBM1364, IBM1371, IBM1388, IBM1390,
and IBM1399.
(distribute): Add ibm1364.c, ibm1364.h, ibm1371.c, ibm1371.h,
ibm1388.c, ibm1388.h, ibm1390.c, ibm1390.h, ibm1399.c, and ibm1399.h.
* iconvdata/TESTS: Add entries for IBM1364, IBM1371, IBM1388, IBM1390,
and IBM1399.
* iconvdata/gconv-modules: Likewise.
* iconvdata/ibm1364.c: New file.
* iconvdata/ibm1364.h: New file.
* iconvdata/ibm1371.c: New file.
* iconvdata/ibm1371.h: New file.
* iconvdata/ibm1388.c: New file.
* iconvdata/ibm1388.h: New file.
* iconvdata/ibm1390.c: New file.
* iconvdata/ibm1390.h: New file.
* iconvdata/ibm1399.c: New file.
* iconvdata/ibm1399.h: New file.
* iconvdata/testdata/IBM1364: New file.
* iconvdata/testdata/IBM1364..UTF8: New file.
* iconvdata/testdata/IBM1371: New file.
* iconvdata/testdata/IBM1371..UTF8: New file.
* iconvdata/testdata/IBM1388: New file.
* iconvdata/testdata/IBM1388..UTF8: New file
* iconvdata/testdata/IBM1390: New file.
* iconvdata/testdata/IBM1390..UTF8: New file.
* iconvdata/testdata/IBM1399: New file.
* iconvdata/testdata/IBM1399..UTF8: New file.
Original patch by Masahide Washizawa <washi@jp.ibm.com>.
IBM1008, IBM1008_420, IBM1097, IBM1112, IBM1123, IBM1130, IBM1140,
IBM1141, IBM1142, IBM1143, IBM1144, IBM1145, IBM1146, IBM1147, IBM1148,
IBM1149, IBM1166, IBM1167, IBM4517, IBM4899, IBM4909, IBM4971,
IBM5347, IBM9030, IBM9066, IBM9448, IBM12712, IBM16804.
(distribute): Add ibm803.c, ibm803.h, ibm901.c, ibm901.h, ibm902.c,
ibm902.h, ibm921.c, ibm921.h, ibm1008.c, ibm1008.h, ibm1008_420.c,
ibm1097.c, ibm1097.h, ibm1112.c, ibm1112.h, ibm1123.c, ibm1123.h,
ibm1130.c, ibm1130.h, ibm1140.c, ibm1140.h, ibm1141.c, ibm1141.h,
ibm1142.c, ibm1142.h, ibm1143.c, ibm1143.h, ibm1144.c, ibm1144.h,
ibm1145.c, ibm1145.h, ibm1146.c, ibm1146.h, ibm1147.c, ibm1147.h,
ibm1148.c, ibm1148.h, ibm1149.c, ibm1149.h, ibm1166.c, ibm1166.h,
ibm1167.c, ibm1167.h, ibm4517.c, ibm4517.h, ibm4899.c, ibm4899.h,
ibm4909.c, ibm4909.h, ibm4971.c, ibm4971.h, ibm5347.c, ibm5347.h,
ibm9030.c, ibm9030.h, ibm9066.c, ibm9066.h, ibm9448.c, ibm9448.h,
ibm12712.c, ibm12712.h, ibm16804.c, ibm16804.h.
* iconvdata/TESTS: Add entries for new modules.
* iconvdata/gconv-modules: Likewise.
* iconvdata/ibm803.c: New file.
* iconvdata/ibm803.h: New file.
* iconvdata/ibm901.c: New file.
* iconvdata/ibm901.h: New file.
* iconvdata/ibm902.c: New file.
* iconvdata/ibm902.h: New file.
* iconvdata/ibm921.c: New file.
* iconvdata/ibm921.h: New file.
* iconvdata/ibm1008.c: New file.
* iconvdata/ibm1008.h: New file.
* iconvdata/ibm1008_420.c: New file.
* iconvdata/ibm1097.c: New file.
* iconvdata/ibm1097.h: New file.
* iconvdata/ibm1112.c: New file.
* iconvdata/ibm1112.h: New file.
* iconvdata/ibm1123.c: New file.
* iconvdata/ibm1123.h: New file.
* iconvdata/ibm1130.c: New file.
* iconvdata/ibm1130.h: New file.
* iconvdata/ibm1140.c: New file.
* iconvdata/ibm1140.h: New file.
* iconvdata/ibm1141.c: New file.
* iconvdata/ibm1141.h: New file.
* iconvdata/ibm1142.c: New file.
* iconvdata/ibm1142.h: New file.
* iconvdata/ibm1143.c: New file.
* iconvdata/ibm1143.h: New file.
* iconvdata/ibm1144.c: New file.
* iconvdata/ibm1144.h: New file.
* iconvdata/ibm1145.c: New file.
* iconvdata/ibm1145.h: New file.
* iconvdata/ibm1146.c: New file.
* iconvdata/ibm1146.h: New file.
* iconvdata/ibm1147.c: New file.
* iconvdata/ibm1147.h: New file.
* iconvdata/ibm1148.c: New file.
* iconvdata/ibm1148.h: New file.
* iconvdata/ibm1149.c: New file.
* iconvdata/ibm1149.h: New file.
* iconvdata/ibm1166.c: New file.
* iconvdata/ibm1166.h: New file.
* iconvdata/ibm1167.c: New file.
* iconvdata/ibm1167.h: New file.
* iconvdata/ibm4517.c: New file.
* iconvdata/ibm4517.h: New file.
* iconvdata/ibm4899.c: New file.
* iconvdata/ibm4899.h: New file.
* iconvdata/ibm4909.c: New file.
* iconvdata/ibm4909.h: New file.
* iconvdata/ibm4971.c: New file.
* iconvdata/ibm4971.h: New file.
* iconvdata/ibm5347.c: New file.
* iconvdata/ibm5347.h: New file.
* iconvdata/ibm9030.c: New file.
* iconvdata/ibm9030.h: New file.
* iconvdata/ibm9066.c: New file.
* iconvdata/ibm9066.h: New file.
* iconvdata/ibm9448.c: New file.
* iconvdata/ibm9448.h: New file.
* iconvdata/ibm12712.c: New file.
* iconvdata/ibm12712.h: New file.
* iconvdata/ibm16804.c: New file.
* iconvdata/ibm16804.h: New file.
* iconvdata/testdata/IBM803: New file.
* iconvdata/testdata/IBM803..UTF8: New file.
* iconvdata/testdata/IBM901: New file.
* iconvdata/testdata/IBM901..UTF8: New file.
* iconvdata/testdata/IBM902: New file.
* iconvdata/testdata/IBM902..UTF8: New file.
* iconvdata/testdata/IBM921: New file.
* iconvdata/testdata/IBM921..UTF8: New file.
* iconvdata/testdata/IBM1008: New file.
* iconvdata/testdata/IBM1008..UTF8: New file.
* iconvdata/testdata/IBM1097: New file.
* iconvdata/testdata/IBM1097..UTF8: New file.
* iconvdata/testdata/IBM1112: New file.
* iconvdata/testdata/IBM1112..UTF8: New file.
* iconvdata/testdata/IBM1123: New file.
* iconvdata/testdata/IBM1123..UTF8: New file.
* iconvdata/testdata/IBM1130: New file.
* iconvdata/testdata/IBM1130..UTF8: New file.
* iconvdata/testdata/IBM1140: New file.
* iconvdata/testdata/IBM1140..UTF8: New file.
* iconvdata/testdata/IBM1141: New file.
* iconvdata/testdata/IBM1141..UTF8: New file.
* iconvdata/testdata/IBM1142: New file.
* iconvdata/testdata/IBM1142..UTF8: New file.
* iconvdata/testdata/IBM1143: New file.
* iconvdata/testdata/IBM1143..UTF8: New file.
* iconvdata/testdata/IBM1144: New file.
* iconvdata/testdata/IBM1144..UTF8: New file.
* iconvdata/testdata/IBM1145: New file.
* iconvdata/testdata/IBM1145..UTF8: New file.
* iconvdata/testdata/IBM1146: New file.
* iconvdata/testdata/IBM1146..UTF8: New file.
* iconvdata/testdata/IBM1147: New file.
* iconvdata/testdata/IBM1147..UTF8: New file.
* iconvdata/testdata/IBM1148: New file.
* iconvdata/testdata/IBM1148..UTF8: New file.
* iconvdata/testdata/IBM1149: New file.
* iconvdata/testdata/IBM1149..UTF8: New file.
* iconvdata/testdata/IBM1166: New file.
* iconvdata/testdata/IBM1166..UTF8: New file.
* iconvdata/testdata/IBM1167: New file.
* iconvdata/testdata/IBM1167..UTF8: New file.
* iconvdata/testdata/IBM4517: New file.
* iconvdata/testdata/IBM4517..UTF8: New file.
* iconvdata/testdata/IBM4899: New file.
* iconvdata/testdata/IBM4899..UTF8: New file.
* iconvdata/testdata/IBM4909: New file.
* iconvdata/testdata/IBM4909..UTF8: New file.
* iconvdata/testdata/IBM4971: New file.
* iconvdata/testdata/IBM4971..UTF8: New file.
* iconvdata/testdata/IBM5347: New file.
* iconvdata/testdata/IBM5347..UTF8: New file.
* iconvdata/testdata/IBM9030: New file.
* iconvdata/testdata/IBM9030..UTF8: New file.
* iconvdata/testdata/IBM9066: New file.
* iconvdata/testdata/IBM9066..UTF8: New file.
* iconvdata/testdata/IBM9448: New file.
* iconvdata/testdata/IBM9448..UTF8: New file.
* iconvdata/testdata/IBM12712: New file.
* iconvdata/testdata/IBM12712..UTF8: New file.
* iconvdata/testdata/IBM16804: New file.
* iconvdata/testdata/IBM16804..UTF8: New file.
* iconvdata/run-iconv-test.sh: Run ASCII->encoding->ASCII suntzus
test only if $subset is N.
2005-05-19 Richard Henderson <rth@redhat.com>
* sysdeps/unix/clock_gettime.c (clock_gettime): Fix typo around
CLOCK_REALTIME.
* sysdeps/ia64/bits/atomic.h (__arch_compare_and_exchange_bool_32_acq,
__arch_compare_and_exchange_bool_64_acq,
__arch_compare_and_exchange_val_32_acq,
__arch_compare_and_exchange_val_64_acq, atomic_exchange_and_add):
Use __sync builtin without _si or _di suffix.
2005-05-19 Jakub Jelinek <jakub@redhat.com>
[BZ #955]
* iconvdata/ibm939.c (BODY): Avoid segfaults with input characters
<UFFFF> and above.
2005-05-17 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/clock_getcpuclockid.c
(clock_getcpuclockid): Always return a defined value.