botan/botan-1.8.8-binutils_lea_of...

29 lines
826 B
Diff

#
#
# patch "src/hash/sha1_amd64/sha1_amd64_imp.S"
# from [dd263db10309950dec501dd9257a8df43cf6c6aa]
# to [ab1db7a394b41a1d3b9a63a6e8e1571e4671b962]
#
============================================================
--- src/hash/sha1_amd64/sha1_amd64_imp.S dd263db10309950dec501dd9257a8df43cf6c6aa
+++ src/hash/sha1_amd64/sha1_amd64_imp.S ab1db7a394b41a1d3b9a63a6e8e1571e4671b962
@@ -103,10 +103,16 @@ ALIGN;
subq $320, W
+/*
+* Using negative values for SHA-1 constants > 2^31 to work around
+* a bug in binutils not accepting large lea displacements.
+* -0x70E44324 == 0x8F1BBCDC
+* -0x359D3E2A == 0xCA62C1D6
+*/
#define MAGIC1 0x5A827999
#define MAGIC2 0x6ED9EBA1
-#define MAGIC3 0x8F1BBCDC
-#define MAGIC4 0xCA62C1D6
+#define MAGIC3 -0x70E44324
+#define MAGIC4 -0x359D3E2A
#define T %esi
#define T2 %eax