From: alex <you@xxxxxxxxxxx> The file sha1dc/sha1.c requires big endian to be defined by the compiler. If it is not defined, then it defaults to little endian mode, which when compiled and ran on a big endian machine results in a sha1 mismatch. This change will allow git to correctly detect big endian on GCC 4.2 and GCC 4.0 running on PowerPC Mac OS X 10.4 and Mac OS X 10.5, resulting in a successful build that works correctly. Signed-off-by: Alex Free <alex_free@xxxxxxxxx> --- fix gcc 4.0 big endian sha1 Currently, sha1.c is compiled in little endian mode when using gcc 4.0 on Mac OS X 10.4 PowerPC (which is big endian). This results in a build that always states there is a sha1 mismatch. The below patch allows big endian to be detected correctly using GCC 4.0 and probably older versions as well. Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-907%2Falex-free%2Fmaster-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-907/alex-free/master-v1 Pull-Request: https://github.com/git/git/pull/907 sha1dc/sha1.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sha1dc/sha1.c b/sha1dc/sha1.c index dede2cbddf..4899ffcc20 100644 --- a/sha1dc/sha1.c +++ b/sha1dc/sha1.c @@ -43,6 +43,14 @@ you will have to add whatever macros your tool chain defines to indicate Big-Endianness. */ +#if defined(__BIG_ENDIAN__) +#define SHA1DC_BIGENDIAN +#endif + +/* + Required for GCC 4.0 +*/ + #if defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) /* * Should detect Big Endian under GCC since at least 4.6.0 (gcc svn base-commit: ad27df6a5cff694add500ab8c7f97234feb4a91f -- gitgitgadget