+2024-06-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ endian: port better to Android NDK r26
+ * lib/endian.in.h (be16toh, be32toh, be64toh, htobe16, htobe32)
+ (htobe64, le16toh, le32toh, le64toh, htole16, htole32, htole64):
+ When @HAVE_ENDIAN_H@, define each NAME to rpl_NAME so that they
+ don’t interact incorrectly with system-defined implementations.
+ Problem reported by Po Lu for Android NDK r26 in:
+ https://lists.gnu.org/r/bug-gnulib/2024-06/msg00040.html
+ and this patch is an updated version of Collin Funk’s patch in:
+ https://lists.gnu.org/r/bug-gnulib/2024-06/msg00041.html
+
2024-06-04 Collin Funk <collin.funk1@gmail.com>
boot-time, readutmp: Fix missing MinGW include (regr. 2024-05-24).
# define BYTE_ORDER LITTLE_ENDIAN
#endif
-/* Make sure function-like macros get undefined. */
#if @HAVE_ENDIAN_H@
+
+/* Make sure we don't have any system definitions. */
# undef be16toh
# undef be32toh
# undef be64toh
# undef htole16
# undef htole32
# undef htole64
+
+/* Define our own. */
+# define be16toh rpl_endian_be16toh
+# define be32toh rpl_endian_be32toh
+# define be64toh rpl_endian_be64toh
+# define htobe16 rpl_endian_htobe16
+# define htobe32 rpl_endian_htobe32
+# define htobe64 rpl_endian_htobe64
+# define le16toh rpl_endian_le16toh
+# define le32toh rpl_endian_le32toh
+# define le64toh rpl_endian_le64toh
+# define htole16 rpl_endian_htole16
+# define htole32 rpl_endian_htole32
+# define htole64 rpl_endian_htole64
+
#endif
#ifdef __cplusplus