Sebastian Andrzej Siewior <sebastian@xxxxxxxxxxxxx> writes: > 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 this file assumes that bswap31/64 are defined ONLY on 31/64 -> 32/64? Just sanity checking the typofix I plan to make locally while applying this patch. > 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@xxxxxxxxxxxxx> > --- > compat/bswap.h | 14 +------------- > 1 file changed, 1 insertion(+), 13 deletions(-) > > diff --git a/compat/bswap.h b/compat/bswap.h > index 9e0f98e00b93a..b34054f2bd728 100644 > --- a/compat/bswap.h > +++ b/compat/bswap.h > @@ -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)