[systemd-devel] [PATCH] architecture: fix building for big-endian PowerPC with gcc
Dan Horák
dan at danny.cz
Fri Jul 11 06:43:53 PDT 2014
On Fri, 11 Jul 2014 15:27:56 +0200
Lennart Poettering <lennart at poettering.net> wrote:
> On Fri, 11.07.14 15:04, Michael Olbrich (m.olbrich at pengutronix.de)
> wrote:
>
> > gcc does not define WORDS_BIGENDIAN for big-endian PowerPC. It
> > defines __BIG_ENDIAN__ instead. So also check for __BIG_ENDIAN__ to
> > determine if the system is big-endian.
>
> Hmm, the sources currently use three different ways to detect
> endianess:
>
> 1) WORDS_BIGENDIAN (which appears to be an autoconf thing actually,
> enabled via AC_C_BIGENDIAN, which we never call currently)
> 2) __BTYE_ORDER == __BIG_ENDIAN which appears to be be defined in
> endian.h always by glibc
> 3) __BIG_ENDIAN__ appears to be quite common too? gcc thing?
>
> Also this:
>
> http://sourceforge.net/p/predef/wiki/Endianness/
>
> We should probably stick to one of these things. Probably #2 or #3...
>
> I can't find any normative documentation about these things. Given
> that the #2 is at least unconditional part of glibc, I'd say to
> convert everything to that. Would that work for you on ppc-be too?
Jakub explained us endianity checks with GCC in
https://bugzilla.redhat.com/show_bug.cgi?id=962091#c48
Dan
More information about the systemd-devel
mailing list