[COMMITTED] Bug 18589: Revert strcoll optimization using strdiff.
Carlos O'Donell
carlos@redhat.com
Thu Oct 8 20:50:00 GMT 2015
On 10/08/2015 04:33 PM, Carlos O'Donell wrote:
> The optimization introduced in commit
> f13c2a8dff2329c6692a80176262ceaaf8a6f74e, causes regressions in
> sorting for languages that have digraphs that change sort order, like
> cs_CZ which sorts ch between h and i.
>
> My analysis shows the fast-forwarding optimization in STRCOLL advances
> through a digraph while possibly stopping in the middle which results
> in a subsequent skipping of the digraph and incorrect sorting. The
> optimization is incorrect as implemented and because of that I'm
> removing it for 2.23, and I will also commit this fix for 2.22 where
> it was originally introduced.
>
> This patch reverts the optimization, introduces a new bug-strcoll2.c
> regression test that tests both cs_CZ.UTF-8 and da_DK.ISO-8859-1 and
> ensures they sort one digraph each correctly. The optimization can't be
> applied without regressing this test.
>
> Checked on x86_64, bug-strcoll2.c fails without this patch and passes
> after.
>
> Checked in for 2.23.
Forgot to add string/Makefile. Checking that in now.
c.
More information about the Libc-alpha
mailing list