From: Andy Polyakov Date: Fri, 11 Nov 2005 20:07:07 +0000 (+0000) Subject: Attempt to resolve sporadic SEGV crashes in bn_sub_words in OpenSSH. I'm X-Git-Tag: OpenSSL_0_9_8k^2~1698 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=c52c82ffc1e5427fe16c6ec87fc48f5f0ba61575;p=oweals%2Fopenssl.git Attempt to resolve sporadic SEGV crashes in bn_sub_words in OpenSSH. I'm baffled why it crashes and does it sporadically... --- diff --git a/crypto/bn/asm/sparcv8plus.S b/crypto/bn/asm/sparcv8plus.S index 0074dfdb75..8992928ca8 100644 --- a/crypto/bn/asm/sparcv8plus.S +++ b/crypto/bn/asm/sparcv8plus.S @@ -445,6 +445,7 @@ bn_div_words: * int n; */ bn_add_words: + sra %o3,%g0,%o3 ! signx %o3 brgz,a %o3,.L_bn_add_words_proceed lduw [%o1],%o4 retl @@ -454,7 +455,6 @@ bn_add_words: andcc %o3,-4,%g0 bz,pn %icc,.L_bn_add_words_tail addcc %g0,0,%g0 ! clear carry flag - nop .L_bn_add_words_loop: ! wow! 32 aligned! dec 4,%o3 @@ -523,6 +523,7 @@ bn_add_words: * int n; */ bn_sub_words: + sra %o3,%g0,%o3 ! signx %o3 brgz,a %o3,.L_bn_sub_words_proceed lduw [%o1],%o4 retl @@ -532,7 +533,6 @@ bn_sub_words: andcc %o3,-4,%g0 bz,pn %icc,.L_bn_sub_words_tail addcc %g0,0,%g0 ! clear carry flag - nop .L_bn_sub_words_loop: ! wow! 32 aligned! dec 4,%o3