Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
42096e05
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
1 年多 前同步成功
通知
10
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看板
提交
42096e05
编写于
8月 02, 2004
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Avoid a.out name table pollition.
上级
7d15a556
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
19 addition
and
11 deletion
+19
-11
crypto/perlasm/x86unix.pl
crypto/perlasm/x86unix.pl
+19
-11
未找到文件。
crypto/perlasm/x86unix.pl
浏览文件 @
42096e05
...
@@ -194,7 +194,11 @@ sub main'pop { &out1("popl",@_); $stack-=4; }
...
@@ -194,7 +194,11 @@ sub main'pop { &out1("popl",@_); $stack-=4; }
sub
main
'pushf {
&out0
("
pushf
");
$stack
+=
4
;
}
sub
main
'pushf {
&out0
("
pushf
");
$stack
+=
4
;
}
sub
main
'popf {
&out0
("
popf
");
$stack
-=
4
;
}
sub
main
'popf {
&out0
("
popf
");
$stack
-=
4
;
}
sub
main
'not {
&out1
("
notl
",
@
_
);
}
sub
main
'not {
&out1
("
notl
",
@
_
);
}
sub
main
'call {
&out1
("
call
",(
$_
[
0
]
=~
/^\Q${dot}\EL/
?'':
$under
)
.
$_
[
0
]);
}
sub
main
'call {
my
$pre
=
$under
;
foreach
$i
(
%label
)
{
if
(
$label
{
$i
}
eq
$_
[
0
])
{
$pre
=
'';
last
;
}
}
&out1
("
call
",
$pre
.
$_
[
0
]);
}
sub
main
'ret {
&out0
("
ret
");
}
sub
main
'ret {
&out0
("
ret
");
}
sub
main
'nop {
&out0
("
nop
");
}
sub
main
'nop {
&out0
("
nop
");
}
sub
main
'test {
&out2
("
testl
",
@
_
);
}
sub
main
'test {
&out2
("
testl
",
@
_
);
}
...
@@ -336,7 +340,6 @@ sub main'function_begin
...
@@ -336,7 +340,6 @@ sub main'function_begin
local($tmp)=<<"EOF";
local($tmp)=<<"EOF";
.text
.text
.align $align
.globl $func
.globl $func
EOF
EOF
push(@out,$tmp);
push(@out,$tmp);
...
@@ -347,6 +350,7 @@ EOF
...
@@ -347,6 +350,7 @@ EOF
elsif ($main
'
aout
)
elsif ($main
'
aout
)
{
}
{
}
else
{
$tmp
=
push
(
@out
,"
.type
\t
$func
,
\@
function
\n
");
}
else
{
$tmp
=
push
(
@out
,"
.type
\t
$func
,
\@
function
\n
");
}
push
(
@out
,"
.align
\t
$align
\n
");
push
(
@out
,"
$func
:
\n
");
push
(
@out
,"
$func
:
\n
");
$tmp
=
<<"EOF";
$tmp
=
<<"EOF";
pushl %ebp
pushl %ebp
...
@@ -368,7 +372,6 @@ sub main'function_begin_B
...
@@ -368,7 +372,6 @@ sub main'function_begin_B
local($tmp)=<<"EOF";
local($tmp)=<<"EOF";
.text
.text
.align $align
.globl $func
.globl $func
EOF
EOF
push(@out,$tmp);
push(@out,$tmp);
...
@@ -379,6 +382,7 @@ EOF
...
@@ -379,6 +382,7 @@ EOF
elsif ($main
'
aout
)
elsif ($main
'
aout
)
{
}
{
}
else
{
push
(
@out
,"
.type
$func
,
\@
function
\n
");
}
else
{
push
(
@out
,"
.type
$func
,
\@
function
\n
");
}
push
(
@out
,"
.align
\t
$align
\n
");
push
(
@out
,"
$func
:
\n
");
push
(
@out
,"
$func
:
\n
");
$stack
=
4
;
$stack
=
4
;
}
}
...
@@ -402,7 +406,7 @@ EOF
...
@@ -402,7 +406,7 @@ EOF
if
(
$main
'
cpp)
if
(
$main
'
cpp)
{ push(@out,"SIZE($func,${dot}L_${func}_end-$func)\n"); }
{ push(@out,"SIZE($func,${dot}L_${func}_end-$func)\n"); }
elsif ($main
'
coff
or
$main
'
aout)
elsif ($main
'
coff
or
$main
'
aout)
{
$tmp=push(@out,".align $align\n");
}
{ }
else { push(@out,".size\t$func,${dot}L_${func}_end-$func\n"); }
else { push(@out,".size\t$func,${dot}L_${func}_end-$func\n"); }
push(@out,".ident \"$func\"\n");
push(@out,".ident \"$func\"\n");
$stack=0;
$stack=0;
...
@@ -433,7 +437,7 @@ sub main'function_end_B
...
@@ -433,7 +437,7 @@ sub main'function_end_B
if
(
$main
'
cpp)
if
(
$main
'
cpp)
{ push(@out,"SIZE($func,${dot}L_${func}_end-$func)\n"); }
{ push(@out,"SIZE($func,${dot}L_${func}_end-$func)\n"); }
elsif ($main
'
coff
or
$main
'
aout)
elsif ($main
'
coff
or
$main
'
aout)
{
push(@out,".align $align\n");
}
{ }
else { push(@out,".size\t$func,${dot}L_${func}_end-$func\n"); }
else { push(@out,".size\t$func,${dot}L_${func}_end-$func\n"); }
push(@out,".ident \"$func\"\n");
push(@out,".ident \"$func\"\n");
$stack=0;
$stack=0;
...
@@ -508,7 +512,11 @@ sub main'set_label
...
@@ -508,7 +512,11 @@ sub main'set_label
$label
{
$_
[
0
]}
=
"
${dot}${label}${_
[0]
}
";
$label
{
$_
[
0
]}
=
"
${dot}${label}${_
[0]
}
";
$label
++
;
$label
++
;
}
}
push
(
@out
,"
.align
$align
\n
")
if
(
$_
[
1
]
!=
0
);
if
(
$_
[
1
]
!=
0
)
{
if
(
$_
[
1
]
>
1
)
{
main
'
align($_[1]); }
else { push(@out,".align $align\n"); }
}
push(@out,"$label{$_[0]}:\n");
push(@out,"$label{$_[0]}:\n");
}
}
...
@@ -581,7 +589,7 @@ sub main'align
...
@@ -581,7 +589,7 @@ sub main'align
$val=$p2-1;
$val=$p2-1;
$val.=",0x90";
$val.=",0x90";
}
}
push(@out,".align
$val\n");
push(@out,".align
\t
$val\n");
}
}
# debug output functions: puts, putx, printf
# debug output functions: puts, putx, printf
...
@@ -678,9 +686,9 @@ ___
...
@@ -678,9 +686,9 @@ ___
&main
'
call(&main
'
label
("
PIC_me_up
"));
&main
'
call(&main
'
label
("
PIC_me_up
"));
&main
'
set_label("PIC_me_up");
&main
'
set_label("PIC_me_up");
&main
'
blindpop
(
$dst
);
&main
'
blindpop
(
$dst
);
&main
'
add($dst,"\$$
under"."
_GLOBAL_OFFSET_TABLE_+[.-".
&main
'
add($dst,"\$$
{under}
_GLOBAL_OFFSET_TABLE_+[.-".
&main
'
label
("
PIC_me_up
")
.
"
]
");
&main
'
label
("
PIC_me_up
")
.
"
]
");
&main
'
mov($dst,&main
'
DWP
(
"
$under
"
.
$sym
.
"
\@
GOT
",
$dst
));
&main
'
mov($dst,&main
'
DWP
(
$under
.
$sym
.
"
\@
GOT
",
$dst
));
}
}
else
else
{
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录