diff options
-rw-r--r-- | networking/tls.c | 2 | ||||
-rw-r--r-- | networking/tls_symmetric.h | 22 |
2 files changed, 13 insertions, 11 deletions
diff --git a/networking/tls.c b/networking/tls.c index 29cc5b9f3..89f2ec603 100644 --- a/networking/tls.c +++ b/networking/tls.c @@ -18,7 +18,7 @@ #include "tls.h" -#define TLS_DEBUG 1 +#define TLS_DEBUG 0 #define TLS_DEBUG_HASH 0 #define TLS_DEBUG_DER 0 #define TLS_DEBUG_FIXED_SECRETS 0 diff --git a/networking/tls_symmetric.h b/networking/tls_symmetric.h index 8488b437e..5e0e4b6d8 100644 --- a/networking/tls_symmetric.h +++ b/networking/tls_symmetric.h @@ -27,30 +27,32 @@ static ALWAYS_INLINE unsigned ROL(unsigned word, int i) { - if (__builtin_constant_p(i)) //box + if (__builtin_constant_p(i)) { //box // Rotates by constant use fewer registers, // and on many Intel CPUs rotates by %cl take 2 cycles, not 1. - asm ("roll %2,%0" //box + asm ("roll %2,%0" :"=r" (word) :"0" (word),"i" (i)); - else //box - asm ("roll %%cl,%0" + return word; + } //box + asm ("roll %%cl,%0" :"=r" (word) :"0" (word),"c" (i)); - return word; + return word; } static ALWAYS_INLINE unsigned ROR(unsigned word, int i) { - if (__builtin_constant_p(i)) //box - asm ("rorl %2,%0" //box + if (__builtin_constant_p(i)) { //box + asm ("rorl %2,%0" :"=r" (word) :"0" (word),"i" (i)); - else //box - asm ("rorl %%cl,%0" + return word; + } //box + asm ("rorl %%cl,%0" :"=r" (word) :"0" (word),"c" (i)); - return word; + return word; } /******************************************************************************/ |