summaryrefslogtreecommitdiff
blob: 50faa56bdca3b091950ddeebfaa1c87ad7236425 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#
# old_revision [a101c8c86b755a666c72baf03154230e09e0667e]
#
# 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