]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Revert "bswap.h: add support for built-in bswap functions"
authorSebastian Andrzej Siewior <sebastian@breakpoint.cc>
Wed, 11 Jun 2025 22:14:37 +0000 (00:14 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 12 Jun 2025 20:23:39 +0000 (13:23 -0700)
Since 6547d1c9 (bswap.h: add support for built-in bswap
functions, 2025-04-23) tweaked the way the bswap32/64 macros are
defined, on platforms with __builtin_bswap32/64 supported, the
bswap32/64 macros are defined even on big endian platforms.

However the rest of this file assumes that bswap32/64() are defined
ONLY on little endian machines and uses that assumption to redefine
ntohl/ntohll macros. The said commit broke t4014-format-patch.sh test,
among many others on s390x.

Revert the commit.

Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/bswap.h

index 9e0f98e00b93a40ba2699038eee83025d136c3b5..b34054f2bd72849e2844036c40f9e9dc6dc211aa 100644 (file)
@@ -35,19 +35,7 @@ static inline uint64_t default_bswap64(uint64_t val)
 #undef bswap32
 #undef bswap64
 
-/**
- * __has_builtin is available since Clang 10 and GCC 10.
- * Below is a fallback for older compilers.
- */
-#ifndef __has_builtin
-       #define __has_builtin(x) 0
-#endif
-
-#if __has_builtin(__builtin_bswap32) && __has_builtin(__builtin_bswap64)
-#define bswap32(x) __builtin_bswap32((x))
-#define bswap64(x) __builtin_bswap64((x))
-
-#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
+#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
 
 #define bswap32 git_bswap32
 static inline uint32_t git_bswap32(uint32_t x)