Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
3ebf898e
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
大约 1 年 前同步成功
通知
9
Star
18
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
3ebf898e
编写于
12月 06, 2005
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Support for indirect calls in x86 assembler modules.
上级
a4c886e4
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
9 addition
and
6 deletion
+9
-6
crypto/perlasm/x86ms.pl
crypto/perlasm/x86ms.pl
+4
-3
crypto/perlasm/x86nasm.pl
crypto/perlasm/x86nasm.pl
+3
-2
crypto/perlasm/x86unix.pl
crypto/perlasm/x86unix.pl
+1
-0
crypto/x86cpuid.pl
crypto/x86cpuid.pl
+1
-1
未找到文件。
crypto/perlasm/x86ms.pl
浏览文件 @
3ebf898e
...
...
@@ -172,6 +172,7 @@ sub main'popf { &out0("popfd"); $stack-=4; }
sub
main
'bswap {
&out1
("
bswap
",
@
_
);
&using486
();
}
sub
main
'not {
&out1
("
not
",
@
_
);
}
sub
main
'call {
&out1
("
call
",(
$_
[
0
]
=~
/^\$L/
?'':'
_
')
.
$_
[
0
]);
}
sub
main
'call_ptr {
&out1p
("
call
",
@
_
);
}
sub
main
'ret {
&out0
("
ret
");
}
sub
main
'nop {
&out0
("
nop
");
}
sub
main
'test {
&out2
("
test
",
@
_
);
}
...
...
@@ -436,7 +437,7 @@ sub out1p
local
(
$name
,
$p1
)
=
@_
;
local
(
$l
,
$t
);
push
(
@out
,"
\t
$name
\t
"
.
&conv
(
$p1
)
.
"
\n
");
push
(
@out
,"
\t
$name
\t
"
.
&conv
(
$p1
)
.
"
\n
");
}
sub
main
'
picmeup
...
...
@@ -452,10 +453,10 @@ sub main'initseg
local
(
$f
)
=
@_
;
local
(
$tmp
)
=
<<___;
OPTION DOTNAME
.CRT\$X
I
U SEGMENT DWORD PUBLIC 'DATA'
.CRT\$X
C
U SEGMENT DWORD PUBLIC 'DATA'
EXTRN _$f:NEAR
DD _$f
.CRT\$X
I
U ENDS
.CRT\$X
C
U ENDS
___
push
(
@out
,
$tmp
);
}
...
...
crypto/perlasm/x86nasm.pl
浏览文件 @
3ebf898e
...
...
@@ -184,6 +184,7 @@ sub main'popf { &out0("popfd"); $stack-=4; }
sub
main
'bswap {
&out1
("
bswap
",
@
_
);
&using486
();
}
sub
main
'not {
&out1
("
not
",
@
_
);
}
sub
main
'call {
&out1
("
call
",(
$_
[
0
]
=~
/^\@L/
?'':
$under
)
.
$_
[
0
]);
}
sub
main
'call_ptr {
&out1p
("
call
",
@
_
);
}
sub
main
'ret {
&out0
("
ret
");
}
sub
main
'nop {
&out0
("
nop
");
}
sub
main
'test {
&out2
("
test
",
@
_
);
}
...
...
@@ -422,7 +423,7 @@ sub out1p
my($name,$p1)=@_;
my($l,$t);
push(@out,"\t$name\t
".&conv($p1)."\n");
push(@out,"\t$name\t".&conv($p1)."\n");
}
sub main
'
picmeup
...
...
@@ -439,7 +440,7 @@ sub main'initseg
if
(
$main
'
win32)
{
local($tmp)=<<___;
segment .CRT\$X
I
U data
segment .CRT\$X
C
U data
extern $under$f
DD $under$f
___
...
...
crypto/perlasm/x86unix.pl
浏览文件 @
3ebf898e
...
...
@@ -200,6 +200,7 @@ sub main'call { my $pre=$under;
{
if
(
$label
{
$i
}
eq
$_
[
0
])
{
$pre
=
'';
last
;
}
}
&out1
("
call
",
$pre
.
$_
[
0
]);
}
sub
main
'call_ptr {
&out1p
("
call
",
@
_
);
}
sub
main
'ret {
&out0
("
ret
");
}
sub
main
'nop {
&out0
("
nop
");
}
sub
main
'test {
&out2
("
testl
",
@
_
);
}
...
...
crypto/x86cpuid.pl
浏览文件 @
3ebf898e
...
...
@@ -183,7 +183,7 @@ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
&mov
("
eax
",
&DWP
(
12
+
$i
*
4
,"
ebp
"));
&mov
(
&DWP
(
0
+
$i
*
4
,"
esp
"),"
eax
");
}
&call
(
&DWP
(
8
,"
ebp
"));
# make the call...
&call
_ptr
(
&DWP
(
8
,"
ebp
"));
# make the call...
&mov
("
esp
","
ebp
");
# ... and just restore the stack pointer
# without paying attention to what we called,
# (__cdecl *func) or (__stdcall *one).
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录