Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
2b1f17f8
O
openssl
项目概览
btwise
/
openssl
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2b1f17f8
编写于
9月 18, 2011
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make latest assembler additions (vpaes and e_padlock) work in Windows build.
上级
7470276a
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
20 addition
and
9 deletion
+20
-9
crypto/aes/asm/vpaes-x86.pl
crypto/aes/asm/vpaes-x86.pl
+1
-1
engines/asm/e_padlock-x86.pl
engines/asm/e_padlock-x86.pl
+7
-5
util/mk1mf.pl
util/mk1mf.pl
+12
-3
未找到文件。
crypto/aes/asm/vpaes-x86.pl
浏览文件 @
2b1f17f8
...
...
@@ -276,7 +276,7 @@ $k_dsbo=0x2c0; # decryption sbox final output
&shl
(
$magic
,
4
);
&pand
("
xmm0
","
xmm6
");
&pshufb
("
xmm2
","
xmm0
");
&movdqa
("
xmm0
",
&
D
WP
(
$k_dipt
-
$k_dsbd
+
16
,
$base
));
&movdqa
("
xmm0
",
&
Q
WP
(
$k_dipt
-
$k_dsbd
+
16
,
$base
));
&xor
(
$magic
,
0x30
);
&pshufb
("
xmm0
","
xmm1
");
&and
(
$magic
,
0x30
);
...
...
engines/asm/e_padlock-x86.pl
浏览文件 @
2b1f17f8
...
...
@@ -110,7 +110,8 @@ $chunk="ebx";
&function_begin_B
("
padlock_verify_context
");
&mov
(
$ctx
,
&wparam
(
0
));
&lea
("
eax
",
&DWP
("
padlock_saved_context-
"
.
&label
("
verify_pic_point
")));
&lea
("
eax
",(
$
::
win32
or
$
::
coff
)
?
&DWP
(
&label
("
padlock_saved_context
"))
:
&DWP
(
&label
("
padlock_saved_context
")
.
"
-
"
.
&label
("
verify_pic_point
")));
&pushf
();
&call
("
_padlock_verify_ctx
");
&set_label
("
verify_pic_point
");
...
...
@@ -119,7 +120,7 @@ $chunk="ebx";
&function_end_B
("
padlock_verify_context
");
&function_begin_B
("
_padlock_verify_ctx
");
&add
("
eax
",
&DWP
(
0
,"
esp
"))
;
# &padlock_saved_context
&add
("
eax
",
&DWP
(
0
,"
esp
"))
if
(
!
(
$
::
win32
or
$
::
coff
));
# &padlock_saved_context
&bt
(
&DWP
(
4
,"
esp
"),
30
);
# eflags
&jnc
(
&label
("
verified
"));
&cmp
(
$ctx
,
&DWP
(
0
,"
eax
"));
...
...
@@ -167,7 +168,8 @@ my ($mode,$opcode) = @_;
&jnz
(
&label
("
${mode}
_abort
"));
&test
(
$len
,
15
);
&jnz
(
&label
("
${mode}
_abort
"));
&lea
("
eax
",
&DWP
("
padlock_saved_context-
"
.
&label
("
${mode}
_pic_point
")));
&lea
("
eax
",(
$
::
win32
or
$
::
coff
)
?
&DWP
(
&label
("
padlock_saved_context
"))
:
&DWP
(
&label
("
padlock_saved_context
")
.
"
-
"
.
&label
("
${mode}
_pic_point
")));
&pushf
();
&cld
();
&call
("
_padlock_verify_ctx
");
...
...
@@ -243,7 +245,7 @@ my ($mode,$opcode) = @_;
&data_byte
(
0xf3
,
0x0f
,
0xa7
,
$opcode
);
# rep xcrypt*
if
(
$mode
!~
/ecb|ctr/
)
{
&movdqa
("
xmm0
",
&QWP
(
0
,"
eax
"));
&movdqa
(
&
D
WP
(
-
16
,
$ctx
),"
xmm0
");
# copy [or refresh] iv
&movdqa
(
&
Q
WP
(
-
16
,
$ctx
),"
xmm0
");
# copy [or refresh] iv
}
&mov
(
$out
,
&DWP
(
0
,"
ebp
"));
# restore parameters
&mov
(
$chunk
,
&DWP
(
12
,"
ebp
"));
...
...
@@ -300,7 +302,7 @@ my ($mode,$opcode) = @_;
&data_byte
(
0xf3
,
0x0f
,
0xa7
,
$opcode
);
# rep xcrypt*
if
(
$mode
ne
"
ecb
")
{
&movdqa
("
xmm0
",
&QWP
(
0
,"
eax
"));
&movdqa
(
&
D
WP
(
-
16
,
$ctx
),"
xmm0
");
# copy [or refresh] iv
&movdqa
(
&
Q
WP
(
-
16
,
$ctx
),"
xmm0
");
# copy [or refresh] iv
}
&set_label
("
${mode}
_exit
");
}
&mov
("
eax
",
1
);
...
...
util/mk1mf.pl
浏览文件 @
2b1f17f8
...
...
@@ -13,6 +13,7 @@ $banner="\t\@echo Building OpenSSL";
my
$no_static_engine
=
1
;
my
$engines
=
"";
my
@engines_obj
=
"";
my
$otherlibs
=
"";
local
$zlib_opt
=
0
;
# 0 = no zlib, 1 = static, 2 = dynamic
local
$zlib_lib
=
"";
...
...
@@ -411,8 +412,13 @@ for (;;)
if
(
$key
eq
"
HEADER
")
{
$header
.=
&var_add
(
$dir
,
$val
,
1
);
}
if
(
$key
eq
"
LIBOBJ
"
&&
(
$dir
ne
"
engines
"
||
!
$no_static_engine
))
if
(
$key
eq
"
LIBOBJ
")
{
if
(
$dir
ne
"
engines
"
||
!
$no_static_engine
)
{
$libobj
=
&var_add
(
$dir
,
$val
,
0
);
}
else
{
push
(
@engines_obj
,
split
(
/\s+/
,
&var_add
(
$dir
,
$val
,
0
)));
}
}
if
(
$key
eq
"
LIBNAMES
"
&&
$dir
eq
"
engines
"
&&
$no_static_engine
)
{
$engines
.=
$val
}
...
...
@@ -899,8 +905,11 @@ $defs.=&do_defs("E_SHLIB",$engines . $otherlibs,"\$(ENG_D)",$shlibp);
foreach
(
split
(
/\s+/
,
$engines
))
{
$rules
.=
&do_compile_rule
("
\$
(OBJ_D)
","
engines
${o}
e_
$_
",
$lib
);
$rules
.=
&do_lib_rule
("
\$
(OBJ_D)
${o}
e_
${_}
.obj
","
\$
(ENG_D)
$o$_$shlibp
","",
$shlib
,"");
my
$engine
=
$_
;
my
@objs
=
grep
(
/$engine/
,
@engines_obj
);
$rules
.=
&do_compile_rule
("
\$
(OBJ_D)
",
join
("
",
@objs
),
$lib
);
map
{
$_
=~
s/[^\/]*\/*([^\/]+)/\$(OBJ_D)${o}$1.obj/
}
@objs
;
$rules
.=
&do_lib_rule
(
join
("
",
@objs
),"
\$
(ENG_D)
$o$engine$shlibp
","",
$shlib
,"");
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录