diff options
author | Stefan Liebler <stli@linux.vnet.ibm.com> | 2016-05-25 17:18:05 +0200 |
---|---|---|
committer | Stefan Liebler <stli@linux.vnet.ibm.com> | 2016-05-25 17:18:05 +0200 |
commit | 52f8a48e24563daa807f94824ce9782b9a9eece9 (patch) | |
tree | 7193d36ccddad30729d44e9d5c7b4cc3c42c4304 /string/bug-strcoll1.c | |
parent | ee518b7070b1bcb41382b6db10f513e071b2c20e (diff) | |
download | glibc-52f8a48e24563daa807f94824ce9782b9a9eece9.tar.gz glibc-52f8a48e24563daa807f94824ce9782b9a9eece9.tar.xz glibc-52f8a48e24563daa807f94824ce9782b9a9eece9.zip |
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.
Diffstat (limited to 'string/bug-strcoll1.c')
0 files changed, 0 insertions, 0 deletions