summaryrefslogtreecommitdiff
path: root/sha1dc
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2019-03-12 21:06:26 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-03-13 04:45:52 (GMT)
commit07a20f569b4b1690e717eaac0954007a8edfbfc2 (patch)
treeb8e3f56f320eaaba3f3e092869367a23263a3ee1 /sha1dc
parentaeb582a98374c094361cba1bd756dc6307432c42 (diff)
downloadgit-07a20f569b4b1690e717eaac0954007a8edfbfc2.zip
git-07a20f569b4b1690e717eaac0954007a8edfbfc2.tar.gz
git-07a20f569b4b1690e717eaac0954007a8edfbfc2.tar.bz2
Makefile: fix unaligned loads in sha1dc with UBSan
The sha1dc library uses unaligned loads on platforms that support them. This is normally what you'd want for performance, but it does cause UBSan to complain when we compile with SANITIZE=undefined. Just like we set -DNO_UNALIGNED_LOADS for our own code in that case, we should set -DSHA1DC_FORCE_ALIGNED_ACCESS. Of course that does nothing without pulling in the patches from sha1dc to respect that define. So let's do that, too, updating both the submodule link and our in-tree copy (from the same commit). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sha1dc')
-rw-r--r--sha1dc/sha1.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sha1dc/sha1.c b/sha1dc/sha1.c
index df0630b..5931cf2 100644
--- a/sha1dc/sha1.c
+++ b/sha1dc/sha1.c
@@ -124,10 +124,11 @@
#endif
/*ENDIANNESS SELECTION*/
+#ifndef SHA1DC_FORCE_ALIGNED_ACCESS
#if defined(SHA1DC_FORCE_UNALIGNED_ACCESS) || defined(SHA1DC_ON_INTEL_LIKE_PROCESSOR)
#define SHA1DC_ALLOW_UNALIGNED_ACCESS
-#endif /*UNALIGNMENT DETECTION*/
-
+#endif /*UNALIGNED ACCESS DETECTION*/
+#endif /*FORCE ALIGNED ACCESS*/
#define rotate_right(x,n) (((x)>>(n))|((x)<<(32-(n))))
#define rotate_left(x,n) (((x)<<(n))|((x)>>(32-(n))))