* [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 <you@example.com>
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@email.com>
---
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
^ permalink raw reply related [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
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.