From: Mark Adler Date: Mon, 13 Feb 2012 03:28:06 +0000 (-0800) Subject: Don't use built-in byte swaps if compiled solo. X-Git-Tag: v1.2.7~61 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5bbdc122ad60dfd0bc219c9c10aab66822c0b099;p=thirdparty%2Fzlib-ng.git Don't use built-in byte swaps if compiled solo. --- diff --git a/zutil.h b/zutil.h index 69d83ed72..5fcd4e63f 100644 --- a/zutil.h +++ b/zutil.h @@ -245,15 +245,18 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ #define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr)) #define TRY_FREE(s, p) {if (p) ZFREE(s, p);} -/* Reverse the bytes in a 64-bit or 32-bit or 16-bit value */ -#if defined(_WIN32) && (_MSC_VER >= 1300) && (defined(_M_IX86) || defined(_M_X64)) -# include -# pragma intrinsic(_byteswap_ulong) -# define ZSWAP32(q) _byteswap_ulong(q) -#elif defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) -# include -# define ZSWAP32(q) __builtin_bswap32(q) -#else +/* Reverse the bytes in a 32-bit value */ +#ifndef Z_SOLO +# if defined(_WIN32) && (_MSC_VER >= 1300) && (defined(_M_IX86) || defined(_M_X64)) +# include +# pragma intrinsic(_byteswap_ulong) +# define ZSWAP32(q) _byteswap_ulong(q) +# elif defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) +# include +# define ZSWAP32(q) __builtin_bswap32(q) +# endif +#endif +#ifndef ZSWAP32 # define ZSWAP32(q) ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \ (((q) & 0xff00) << 8) + (((q) & 0xff) << 24)) #endif