编译安装openssl-0.9.8报错“out range of signed 32bit displacement”

/uploads/files_user1/question/5ee199079dd24769172.png

已邀请:

一、系统环境
openssl版本:openssl-0.9.8

二、安装过程

# 解压
tar zxvf openssl-0.9.8.tar.gz
#进入解压目录
cd openssl-0.9.8
#配置
./config shared zlib

报错:
md5-x86_64.s:41: Error: 0xd76aa478 out range of signed 32bit displacement
md5-x86_64.s:50: Error: 0xe8c7b756 out range of signed 32bit displacement
md5-x86_64.s:68: Error: 0xc1bdceee out range of signed 32bit displacement
md5-x86_64.s:77: Error: 0xf57c0faf out range of signed 32bit displacement
md5-x86_64.s:95: Error: 0xa8304613 out range of signed 32bit displacementMany more errors like this.

解决方法:

# vim openssl-0.9.8e/crypto/md5/asm/md5-x86_64.pl1

sub round1_step

{ my ($pos, $dst, $x, $y, $z, $k_next, $T_i, $s) = @_;123

后面加入:

$T_i = unpack("l",pack("l", hex($T_i))); # convert to 32-bit signed decimal1

类似地,在sub round2_step, sub round3_step 和 sub round4_step相应的位置都加上这行

#继续配置
./config shared zlib
#编译安装
make
make install

重新编译安装,成功!



问题解决参考:http://308107405.blog.51cto.com/6396647/1537551

要回复问题请先登录注册