From 52f8a48e24563daa807f94824ce9782b9a9eece9 Mon Sep 17 00:00:00 2001 From: Stefan Liebler Date: Wed, 25 May 2016 17:18:05 +0200 Subject: S390: Fix utf32 to utf8 handling of low surrogates (disable cu41). According to the latest Unicode standard, a conversion from/to UTF-xx has to report an error if the character value is in range of an utf16 surrogate (0xd800..0xdfff). See https://sourceware.org/ml/libc-help/2015-12/msg00015.html. Thus the cu41 instruction, which converts from utf32 to utf8, has to be disabled because it does not report an error in case of a value in range of a low surrogate (0xdc00..0xdfff). The etf3eh variant is removed and the c, vector variant is adjusted to handle the value in range of an utf16 low surrogate correctly. ChangeLog: * sysdeps/s390/utf8-utf32-z9.c: Disable cu41 instruction and report an error in case of a value in range of an utf16 low surrogate. --- ChangeLog | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 78afe17d2d..b50c3d07ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2016-05-25 Stefan Liebler + + * sysdeps/s390/utf8-utf32-z9.c: Disable cu41 instruction and report + an error in case of a value in range of an utf16 low surrogate. + 2016-05-25 Stefan Liebler * sysdeps/s390/s390-64/Makefile (iconvdata-subdirectory): -- cgit 1.4.1