Page MenuHomeFreeBSD

locale data should be consistent-endian (big)
AbandonedPublic

Authored by yuripv on Oct 19 2018, 6:15 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Apr 30, 2:32 PM
Unknown Object (File)
Tue, Apr 30, 2:32 PM
Unknown Object (File)
Tue, Apr 30, 8:10 AM
Unknown Object (File)
Mar 12 2024, 3:05 AM
Unknown Object (File)
Dec 20 2023, 3:19 AM
Unknown Object (File)
Sep 15 2023, 12:17 AM
Unknown Object (File)
Sep 4 2023, 5:36 AM
Unknown Object (File)
Jul 7 2023, 11:49 PM
Subscribers

Details

Reviewers
emaste
sbruno
Summary

For sake of completeness, here's how the consistent-endian implementation looks like -- it's significantly less intrusive, and generally looks cleaner.

The only thing to check here is the performance effect, and being in beta stage for 12.0 now, I guess I have the time to do just that. Any hints on testing as I'm not really familiar with performance issues?

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

Sean, could you please give this a try on ref12-ppc64?

lib/libc/locale/collate.c
246

This is the only *real* issue in rS308170 -- wchar_t is (unsigned) int, so 4 bytes.

Sean, could you please give this a try on ref12-ppc64?

You would like me to revert D17603 and apply this singular diff?

Sean, could you please give this a try on ref12-ppc64?

You would like me to revert D17603 and apply this singular diff?

Please disregard this for now, collation is completely broken with this change and it is the case with rS308170 for mips, it's just not that visible as ctype. I'll check if it's worth fixing at all as the fix seems to be quite involved. Sorry for the noise.

With this change alone (and that's what it actually looked for mips) collation is broken. The changes *and* the amount of conversion we need to do every time we load the collation tables make this way not worth it IMO.