[openssl-commits] [openssl] OpenSSL_1_0_2-stable update

Andy Polyakov appro at openssl.org
Wed Aug 31 14:46:26 UTC 2016


The branch OpenSSL_1_0_2-stable has been updated
       via  2a20b6d9731488bcb500e58a434375f59fb9adcc (commit)
      from  7c59fbfb26bd59ec173fb109cc6476988a31b165 (commit)


- Log -----------------------------------------------------------------
commit 2a20b6d9731488bcb500e58a434375f59fb9adcc
Author: Andy Polyakov <appro at openssl.org>
Date:   Sat Aug 27 20:47:57 2016 +0200

    crypto/bn/*: x86[_64] division instruction doesn't handle constants, change constraint from 'g' to 'r'.
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    Reviewed-by: Tim Hudson <tjh at openssl.org>
    (cherry picked from commit 68b4a6e91f5acd42489bb9d1c580acc5ae457cad)

-----------------------------------------------------------------------

Summary of changes:
 crypto/bn/asm/x86_64-gcc.c | 2 +-
 crypto/bn/bn_div.c         | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/crypto/bn/asm/x86_64-gcc.c b/crypto/bn/asm/x86_64-gcc.c
index d77dc43..1729b47 100644
--- a/crypto/bn/asm/x86_64-gcc.c
+++ b/crypto/bn/asm/x86_64-gcc.c
@@ -194,7 +194,7 @@ BN_ULONG bn_div_words(BN_ULONG h, BN_ULONG l, BN_ULONG d)
     BN_ULONG ret, waste;
 
  asm("divq      %4":"=a"(ret), "=d"(waste)
- :     "a"(l), "d"(h), "g"(d)
+ :     "a"(l), "d"(h), "r"(d)
  :     "cc");
 
     return ret;
diff --git a/crypto/bn/bn_div.c b/crypto/bn/bn_div.c
index 72e6ce3..bc37671 100644
--- a/crypto/bn/bn_div.c
+++ b/crypto/bn/bn_div.c
@@ -155,7 +155,7 @@ int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d,
         ({  asm volatile (                      \
                 "divl   %4"                     \
                 : "=a"(q), "=d"(rem)            \
-                : "a"(n1), "d"(n0), "g"(d0)     \
+                : "a"(n1), "d"(n0), "r"(d0)     \
                 : "cc");                        \
             q;                                  \
         })
@@ -170,7 +170,7 @@ int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d,
         ({  asm volatile (                      \
                 "divq   %4"                     \
                 : "=a"(q), "=d"(rem)            \
-                : "a"(n1), "d"(n0), "g"(d0)     \
+                : "a"(n1), "d"(n0), "r"(d0)     \
                 : "cc");                        \
             q;                                  \
         })


More information about the openssl-commits mailing list