HomeFreeBSD

sys/_endian.h: Move powerpc workaround into _endian.h

Description

sys/_endian.h: Move powerpc workaround into _endian.h

Powerpc compilers often define _BIG_ENDIAN or _LITTLE_ENDIAN depending
on the byte order of the target. This interfers with the endian.h and
sys/endian.h APIs which expect those two to be 4321 or 1234.
Unconditionally undefine these two before we define them to work around
this issue. By including endian.h, the programmer is saying they want
this API not the native one. This matches historic practice as well.

Fixes: e35448a901aa
Sponsored by: Netflix
Noticed by: powerpc, powerpc64 CI jobs
Approved by: re (cperciva)

(cherry picked from commit 6f23df1ae7f6ec3cd06a15c87f0aaaa770b2941b)
(cherry picked from commit 07e39710b170859ef6a57185f9a775973f3eeffe)

Details

Provenance
impAuthored on Feb 16 2023, 4:58 PM
Parents
rG0b69409270e4: powerpc: Drop old workaround for old gcc
Branches
Unknown
Tags
Unknown