Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
ddc20d4d
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,发现更多精彩内容 >>
提交
ddc20d4d
编写于
5月 18, 2011
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
x86_64cpuid.pl: allow shared build to work without -Bsymbolic.
PR: 2466
上级
b5084203
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
26 addition
and
7 deletion
+26
-7
crypto/perlasm/x86_64-xlate.pl
crypto/perlasm/x86_64-xlate.pl
+22
-7
crypto/x86_64cpuid.pl
crypto/x86_64cpuid.pl
+4
-0
未找到文件。
crypto/perlasm/x86_64-xlate.pl
浏览文件 @
ddc20d4d
...
@@ -508,6 +508,11 @@ my %globals;
...
@@ -508,6 +508,11 @@ my %globals;
}
}
}
elsif
(
$dir
=~
/\.(text|data)/
)
{
}
elsif
(
$dir
=~
/\.(text|data)/
)
{
$current_segment
=
"
.$1
";
$current_segment
=
"
.$1
";
}
elsif
(
$dir
=~
/\.hidden/
)
{
if
(
$flavour
eq
"
macosx
")
{
$self
->
{
value
}
=
"
.private_extern
\t
$prefix$line
";
}
elsif
(
$flavour
eq
"
mingw64
")
{
$self
->
{
value
}
=
"";
}
}
elsif
(
$dir
=~
/\.comm/
)
{
$self
->
{
value
}
=
"
$dir
\t
$prefix$line
";
}
}
$line
=
"";
$line
=
"";
return
$self
;
return
$self
;
...
@@ -615,6 +620,19 @@ my %globals;
...
@@ -615,6 +620,19 @@ my %globals;
.
join
("
,
",
@str
)
if
(
@str
);
.
join
("
,
",
@str
)
if
(
@str
);
last
;
last
;
};
};
/\.comm/
&&
do
{
my
@str
=
split
(
/,\s*/
,
$line
);
my
$v
=
undef
;
if
(
$nasm
)
{
$v
.=
"
common
$prefix@str
[0]
@str
[1]:near
";
}
else
{
$v
=
"
$current_segment
\t
ENDS
\n
"
if
(
$current_segment
);
$current_segment
=
"
.data
";
$v
.=
"
$current_segment
\t
SEGMENT
\n
";
$v
.=
"
COMM
@str
[0]:DWORD:
"
.
@str
[
1
]
/
4
;
}
$self
->
{
value
}
=
$v
;
last
;
};
}
}
$line
=
"";
$line
=
"";
}
}
...
@@ -629,14 +647,11 @@ my %globals;
...
@@ -629,14 +647,11 @@ my %globals;
sub
rex
{
sub
rex
{
local
*opcode
=
shift
;
local
*opcode
=
shift
;
my
(
$dst
,
$src
)
=
@_
;
my
(
$dst
,
$src
,
$rex
)
=
@_
;
if
(
$dst
>=
8
||
$src
>=
8
)
{
$rex
|=
0x04
if
(
$dst
>=
8
);
$rex
=
0x40
;
$rex
|=
0x01
if
(
$src
>=
8
);
$rex
|=
0x04
if
(
$dst
>=
8
);
push
@opcode
,(
$rex
|
0x40
)
if
(
$rex
);
$rex
|=
0x01
if
(
$src
>=
8
);
push
@opcode
,
$rex
;
}
}
}
# older gas and ml64 don't handle SSE>2 instructions
# older gas and ml64 don't handle SSE>2 instructions
...
...
crypto/x86_64cpuid.pl
浏览文件 @
ddc20d4d
...
@@ -14,9 +14,13 @@ open STDOUT,"| $^X ${dir}perlasm/x86_64-xlate.pl $flavour $output";
...
@@ -14,9 +14,13 @@ open STDOUT,"| $^X ${dir}perlasm/x86_64-xlate.pl $flavour $output";
print
<<___;
print
<<___;
.extern OPENSSL_cpuid_setup
.extern OPENSSL_cpuid_setup
.hidden OPENSSL_cpuid_setup
.section .init
.section .init
call OPENSSL_cpuid_setup
call OPENSSL_cpuid_setup
.hidden OPENSSL_ia32cap_P
.comm OPENSSL_ia32cap_P,8
.text
.text
.globl OPENSSL_atomic_add
.globl OPENSSL_atomic_add
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录