embed endian info in locale data files magic (PR231965)

Warner Losh imp at bsdimp.com
Thu Oct 18 04:21:18 UTC 2018


On Wed, Oct 17, 2018 at 10:18 PM Yuri Pankov <yuripv at yuripv.net> 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 like this.

Warner


More information about the freebsd-hackers mailing list