[libc] Allow for externally-defined LITTLE_ENDIAN and BIG_ENDIAN constants

When building the Linux userspace binaries, the external system
headers may have already defined values for the __LITTLE_ENDIAN and
__BIG_ENDIAN constants.

Fix by retaining the existing values if already defined, since the
actual values of these constants do not matter.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
pull/448/head
Michael Brown 2021-07-15 13:46:34 +01:00
parent 2690f73096
commit 8d08300ad9
1 changed files with 4 additions and 0 deletions

View File

@ -8,14 +8,18 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
* Little-endian systems should define BYTE_ORDER as LITTLE_ENDIAN.
* This constant is intended to be used only at compile time.
*/
#ifndef __LITTLE_ENDIAN
#define __LITTLE_ENDIAN 0x44332211UL
#endif
/** Constant representing big-endian byte order
*
* Big-endian systems should define BYTE_ORDER as BIG_ENDIAN.
* This constant is intended to be used only at compile time.
*/
#ifndef __BIG_ENDIAN
#define __BIG_ENDIAN 0x11223344UL
#endif
#include "bits/endian.h"