]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[libc] Allow for externally-defined LITTLE_ENDIAN and BIG_ENDIAN constants
authorMichael Brown <mcb30@ipxe.org>
Thu, 15 Jul 2021 12:46:34 +0000 (13:46 +0100)
committerMichael Brown <mcb30@ipxe.org>
Thu, 15 Jul 2021 13:16:17 +0000 (14:16 +0100)
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>
src/include/endian.h

index 79c3163ee9d2a9655acfb7a16a37dcc02c4b18b1..bdae9de456732763e7c65869013ea03deb7bdec7 100644 (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"