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