embed endian info in locale data files magic (PR231965)

Baptiste Daroussin bapt at FreeBSD.org
Thu Oct 18 07:57:30 UTC 2018


On Thu, Oct 18, 2018 at 04:58:58AM +0300, Yuri Pankov wrote:
> Yuri Pankov wrote:
> > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231965 ([PowerPC64]
> > Cross compiling powerpc64 from amd64 results in nonfunctional locale
> > installations), describes the issue with locale data built on LE system
> > (amd64) when used on BE system (powerpc).
> > 
> > Fix introduced in rS308170 depends on the fact that locale data is built
> > on LE system, and will likely fail when it's built natively on mips
> > (please correct me if I'm wrong).  More so, we shouldn't be hardcoding
> > the conversion in libc, and I see 2 options here:
> > 
> > 1. fix localedef to output data in target's system endian
> > 2. embed the endian info in locale data files (updating magic signature)
> >    and ehhance the previous fix with runtime selection of needed
> >    conversion
> 
> Thinking more about this, or:
> 
> 3. Always store the data in LE (or BE, doesn't matter), and
> appropriately convert while reading.  This will likely require least change.
> 
I agree on that approach, just some benchmarking would be needed to make sure
we are not killing the performance

Best regards,
Bapt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20181018/4d109e14/attachment.sig>


More information about the freebsd-hackers mailing list