list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
* [PATCH] fix gcc 4.0 big endian sha1
@ 2020-11-01 11:42 Alex Free via GitGitGadget
  0 siblings, 0 replies; only message in thread
From: Alex Free via GitGitGadget @ 2020-11-01 11:42 UTC (permalink / raw)
  To: git; +Cc: Alex Free, alex

From: alex <>

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 <>
    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.

Fetch-It-Via: git fetch pr-git-907/alex-free/master-v1

 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__)
+   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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-11-01 11:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-01 11:42 [PATCH] fix gcc 4.0 big endian sha1 Alex Free via GitGitGadget

Code repositories for project(s) associated with this inbox:

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).