Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
656829b7
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看板
提交
656829b7
编写于
3月 04, 2013
作者:
B
Ben Laurie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Handle assembler files.
上级
95dd3018
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
112 addition
and
0 deletion
+112
-0
util/mk1mf.pl
util/mk1mf.pl
+32
-0
util/pl/unix.pl
util/pl/unix.pl
+80
-0
未找到文件。
util/mk1mf.pl
浏览文件 @
656829b7
...
...
@@ -61,6 +61,7 @@ my %mf_import = (
WP_ASM_OBJ
=>
\
$mf_wp_asm
,
CMLL_ENC
=>
\
$mf_cm_asm
,
MODES_ASM_OBJ
=>
\
$mf_modes_asm
,
ENGINES_ASM_OBJ
=>
\
$mf_engines_asm
,
FIPSCANISTERONLY
=>
\
$mf_fipscanisteronly
,
FIPSCANISTERINTERNAL
=>
\
$mf_fipscanisterinternal
);
...
...
@@ -862,6 +863,28 @@ if ($fips)
"
-DFINGERPRINT_PREMAIN_DSO_LOAD
\$
(APP_CFLAGS)
");
}
sub
fix_asm
{
my
(
$asm
,
$dir
)
=
@_
;
$asm
=
"
$asm
";
$asm
=~
s/\s+/ $dir\//g
;
$asm
=~
s/\.o//g
;
$asm
=~
s/^ //
;
return
$asm
.
'
';
}
$lib_obj
{
CRYPTO
}
.=
fix_asm
(
$mf_md5_asm
,
'
crypto/md5
');
$lib_obj
{
CRYPTO
}
.=
fix_asm
(
$mf_bn_asm
,
'
crypto/bn
');
$lib_obj
{
CRYPTO
}
.=
fix_asm
(
$mf_cpuid_asm
,
'
crypto
');
# AES asm files end up included by the aes dir itself
#$lib_obj{CRYPTO} .= fix_asm($mf_aes_asm, 'crypto/aes');
$lib_obj
{
CRYPTO
}
.=
fix_asm
(
$mf_sha_asm
,
'
crypto/sha
');
$lib_obj
{
CRYPTO
}
.=
fix_asm
(
$mf_engines_asm
,
'
engines
');
$lib_obj
{
CRYPTO
}
.=
fix_asm
(
$mf_rc4_asm
,
'
crypto/rc4
');
$lib_obj
{
CRYPTO
}
.=
fix_asm
(
$mf_modes_asm
,
'
crypto/modes
');
foreach
(
values
%lib_nam
)
{
$lib_obj
=
$lib_obj
{
$_
};
...
...
@@ -1206,6 +1229,11 @@ sub do_compile_rule
{
$ret
.=
&Sasm_compile_target
("
$to${o}$n$obj
",
$s
,
$n
);
}
elsif
(
defined
&special_compile_target
and
(
$s
=
special_compile_target
(
$_
)))
{
$ret
.=
$s
;
}
else
{
die
"
no rule for
$_
";
}
}
return
(
$ret
);
...
...
@@ -1216,6 +1244,10 @@ sub do_compile_rule
sub
perlasm_compile_target
{
my
(
$target
,
$source
,
$bname
)
=
@_
;
return
platform_perlasm_compile_target
(
$target
,
$source
,
$bname
)
if
defined
&platform_perlasm_compile_target
;
my
(
$ret
);
$bname
=~
s/(.*)\.[^\.]$/$1/
;
$ret
=
"
\$
(TMP_D)
$o$bname
.asm:
$source
\n
";
...
...
util/pl/unix.pl
浏览文件 @
656829b7
...
...
@@ -53,6 +53,86 @@ $des_enc_src="";
$bf_enc_obj
=
"";
$bf_enc_src
=
"";
%perl1
=
(
'
md5-x86_64
'
=>
'
crypto/md5
',
'
x86_64-mont
'
=>
'
crypto/bn
',
'
x86_64-mont5
'
=>
'
crypto/bn
',
'
x86_64-gf2m
'
=>
'
crypto/bn
',
'
modexp512-x86_64
'
=>
'
crypto/bn
',
'
aes-x86_64
'
=>
'
crypto/aes
',
'
vpaes-x86_64
'
=>
'
crypto/aes
',
'
bsaes-x86_64
'
=>
'
crypto/aes
',
'
aesni-x86_64
'
=>
'
crypto/aes
',
'
aesni-sha1-x86_64
'
=>
'
crypto/aes
',
'
sha1-x86_64
'
=>
'
crypto/sha
',
'
e_padlock-x86_64
'
=>
'
engines
',
'
rc4-x86_64
'
=>
'
crypto/rc4
',
'
rc4-md5-x86_64
'
=>
'
crypto/rc4
',
'
ghash-x86_64
'
=>
'
crypto/modes
',
);
# If I were feeling more clever, these could probably be extracted
# from makefiles.
sub
platform_perlasm_compile_target
{
local
(
$target
,
$source
,
$bname
)
=
@_
;
for
$p
(
keys
%perl1
)
{
if
(
$target
eq
"
\$
(OBJ_D)/
$p
.o
")
{
return
<<
"
EOF
";
\
$
(
TMP_D
)
/$p.s: $perl1{$p}/asm
/
$p
.
pl
\
$
(
PERL
)
$perl1
{
$p
}
/asm/
$p
.
pl
\
$
(
PERLASM_SCHEME
)
>
\
$@
EOF
}
}
if
(
$target
eq
'
$(OBJ_D)/x86_64cpuid.o
')
{
return
<<
'
EOF
';
$
(
TMP_D
)
/x86_64cpuid.s: crypto/x
86_64
cpuid
.
pl
$
(
PERL
)
crypto
/
x86_64cpuid
.
pl
$
(
PERLASM_SCHEME
)
>
$@
EOF
}
elsif
(
$target
eq
'
$(OBJ_D)/sha256-x86_64.o
')
{
return
<<
'
EOF
';
$
(
TMP_D
)
/sha256-x86_64.s: crypto/s
ha
/asm/s
ha512
-
x86_64
.
pl
$
(
PERL
)
crypto
/sha/asm
/
sha512
-
x86_64
.
pl
$
(
PERLASM_SCHEME
)
$@
EOF
}
elsif
(
$target
eq
'
$(OBJ_D)/sha512-x86_64.o
')
{
return
<<
'
EOF
';
$
(
TMP_D
)
/sha512-x86_64.s: crypto/s
ha
/asm/s
ha512
-
x86_64
.
pl
$
(
PERL
)
crypto
/sha/asm
/
sha512
-
x86_64
.
pl
$
(
PERLASM_SCHEME
)
$@
EOF
}
elsif
(
$target
eq
'
$(OBJ_D)/sha512-x86_64.o
')
{
return
<<
'
EOF
';
$
(
TMP_D
)
/sha512-x86_64.s: crypto/s
ha
/asm/s
ha512
-
x86_64
.
pl
$
(
PERL
)
crypto
/sha/asm
/
sha512
-
x86_64
.
pl
$
(
PERLASM_SCHEME
)
$@
EOF
}
die
$target
;
}
sub
special_compile_target
{
local
(
$target
)
=
@_
;
if
(
$target
eq
'
crypto/bn/x86_64-gcc
')
{
return
<<
"
EOF
";
\
$
(
TMP_D
)
/x86_64-gcc.o: crypto/
bn
/asm/x
86_64
-
gcc
.
c
\
$
(
CC
)
\
$
(
CFLAGS
)
-
c
-
o
\
$@
crypto
/bn/asm
/
x86_64
-
gcc
.
c
EOF
}
return
undef
;
}
sub
do_lib_rule
{
local
(
$obj
,
$target
,
$name
,
$shlib
)
=
@_
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录