Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
46a0d4fb
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看板
提交
46a0d4fb
编写于
1月 03, 2003
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Support for ILP32 on HPUX-IA64.
上级
04945fda
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
103 addition
and
24 deletion
+103
-24
Configure
Configure
+3
-4
config
config
+4
-2
crypto/bn/asm/ia64.S
crypto/bn/asm/ia64.S
+96
-18
未找到文件。
Configure
浏览文件 @
46a0d4fb
...
...
@@ -260,12 +260,11 @@ my %table=(
# Submitted by <ross.alexander@uk.neceur.com>
"hpux64-parisc-gcc","gcc:-DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::::::::::dlfcn:hpux64-shared:-fpic::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# IA-64 targets
# I have no idea if this one actually works, feedback needed. <appro>
"hpux-ia64-cc","cc:-Ae +DD32 +O3 +ESlit -z -DB_ENDIAN::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:asm/ia64-cpp.o:::::::::dlfcn:hpux-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# HP/UX IA-64 targets
"hpux-ia64-cc","cc:-Ae +DD32 +O3 +Olit=all -z -DB_ENDIAN::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:asm/ia64-cpp.o:::::::::dlfcn:hpux-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# Frank Geurts <frank.geurts@nl.abnamro.com> has patiently assisted with
# with debugging of the following config.
"hpux64-ia64-cc","cc:-Ae +DD64 +O3 +
ESlit
-z -DB_ENDIAN::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:asm/ia64-cpp.o:::::::::dlfcn:hpux64-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux64-ia64-cc","cc:-Ae +DD64 +O3 +
Olit=all
-z -DB_ENDIAN::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:asm/ia64-cpp.o:::::::::dlfcn:hpux64-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# More attempts at unified 10.X and 11.X targets for HP C compiler.
#
...
...
config
浏览文件 @
46a0d4fb
...
...
@@ -696,9 +696,11 @@ EOF
CPU_VERSION
=
${
CPU_VERSION
:-
0
}
# See <sys/unistd.h> for further info on CPU_VERSION.
if
[
$CPU_VERSION
-ge
768
]
;
then
# IA-64 CPU
echo
"NOTICE! 64-bit is the only ABI currently operational on HP-UXi."
echo
" Post request to openssl-dev@openssl.org for 32-bit support."
echo
"WARNING! 64-bit ABI is the default configured ABI on HP-UXi."
echo
" If you wish to build 32-bit library, the you have to"
echo
" invoke './Configure hpux-ia32-cc' *manually*."
if
[
"
$TEST
"
=
"false"
]
;
then
echo
" You have about 5 seconds to press Ctrl-C to abort."
(
stty
-icanon
min 0
time
50
;
read
waste
)
< /dev/tty
fi
OUT
=
"hpux64-ia64-cc"
...
...
crypto/bn/asm/ia64.S
浏览文件 @
46a0d4fb
.
explicit
.
text
.
ident
"
ia64.S
,
Version
1
.
1
"
.
ident
"
ia64.S
,
Version
1
.
2
"
.
ident
"
IA
-64
ISA
artwork
by
Andy
Polyakov
<
appro
@
fy
.
chalmers
.
se
>
"
//
...
...
@@ -149,12 +149,27 @@ bn_add_words:
brp.loop.imp
.
L_bn_add_words_ctop
,
.
L_bn_add_words_cend
-
16
}
.
body
{
.
mib
; mov r14=r32 // rp
{
.
mib
;
#if defined(_HPUX_SOURCE) && defined(_ILP32)
addp4
r14
=
0
,
r32
//
rp
#else
mov
r14
=
r32
//
rp
#endif
mov
r9
=
pr
}
;;
{
.
mii
; mov r15=r33 // ap
{
.
mii
;
#if defined(_HPUX_SOURCE) && defined(_ILP32)
addp4
r15
=
0
,
r33
//
ap
#else
mov
r15
=
r33
//
ap
#endif
mov
ar
.
lc
=
r10
mov
ar
.
ec
=
6
}
{
.
mib
; mov r16=r34 // bp
{
.
mib
;
#if defined(_HPUX_SOURCE) && defined(_ILP32)
addp4
r16
=
0
,
r34
//
bp
#else
mov
r16
=
r34
//
bp
#endif
mov
pr
.
rot
=
1
<<
16
}
;;
.
L_bn_add_words_ctop
:
...
...
@@ -174,7 +189,7 @@ bn_add_words:
{
.
mii
;
(
p59
)
add
r8
=
1
,
r8
//
return
value
mov
pr
=
r9
,
-
1
mov
pr
=
r9
,
0x1ffff
mov
ar
.
lc
=
r3
}
{
.
mbb
; nop.b 0x0
br.ret.sptk.many
b0
}
;;
...
...
@@ -202,12 +217,27 @@ bn_sub_words:
brp.loop.imp
.
L_bn_sub_words_ctop
,
.
L_bn_sub_words_cend
-
16
}
.
body
{
.
mib
; mov r14=r32 // rp
{
.
mib
;
#if defined(_HPUX_SOURCE) && defined(_ILP32)
addp4
r14
=
0
,
r32
//
rp
#else
mov
r14
=
r32
//
rp
#endif
mov
r9
=
pr
}
;;
{
.
mii
; mov r15=r33 // ap
{
.
mii
;
#if defined(_HPUX_SOURCE) && defined(_ILP32)
addp4
r15
=
0
,
r33
//
ap
#else
mov
r15
=
r33
//
ap
#endif
mov
ar
.
lc
=
r10
mov
ar
.
ec
=
6
}
{
.
mib
; mov r16=r34 // bp
{
.
mib
;
#if defined(_HPUX_SOURCE) && defined(_ILP32)
addp4
r16
=
0
,
r34
//
bp
#else
mov
r16
=
r34
//
bp
#endif
mov
pr
.
rot
=
1
<<
16
}
;;
.
L_bn_sub_words_ctop
:
...
...
@@ -227,7 +257,7 @@ bn_sub_words:
{
.
mii
;
(
p59
)
add
r8
=
1
,
r8
//
return
value
mov
pr
=
r9
,
-
1
mov
pr
=
r9
,
0x1ffff
mov
ar
.
lc
=
r3
}
{
.
mbb
; nop.b 0x0
br.ret.sptk.many
b0
}
;;
...
...
@@ -273,8 +303,14 @@ bn_mul_words:
#ifndef XMA_TEMPTATION
{
.
mii
; mov r14=r32 // rp
mov
r15
=
r33
//
ap
{
.
mii
;
#if defined(_HPUX_SOURCE) && defined(_ILP32)
addp4
r14
=
0
,
r32
//
rp
addp4
r15
=
0
,
r33
//
ap
#else
mov
r14
=
r32
//
rp
mov
r15
=
r33
//
ap
#endif
mov
ar
.
lc
=
r10
}
{
.
mii
; mov r39=0 // serves as r33 at first (p26)
mov
ar
.
ec
=
12
}
;;
...
...
@@ -344,7 +380,7 @@ bn_mul_words:
#endif // XMA_TEMPTATION
{
.
mii
; nop.m 0x0
mov
pr
=
r9
,
-
1
mov
pr
=
r9
,
0x1ffff
mov
ar
.
lc
=
r3
}
{
.
mfb
; rum 1<<5 // clear um.mfh
nop.f
0x0
...
...
@@ -380,11 +416,21 @@ bn_mul_add_words:
//
------^-----
serves
as
(
p48
)
at
first
(
p26
)
brp.loop.imp
.
L_bn_mul_add_words_ctop
,
.
L_bn_mul_add_words_cend
-
16
}
{
.
mii
; mov r14=r32 // rp
mov
r15
=
r33
//
ap
{
.
mii
;
#if defined(_HPUX_SOURCE) && defined(_ILP32)
addp4
r14
=
0
,
r32
//
rp
addp4
r15
=
0
,
r33
//
ap
#else
mov
r14
=
r32
//
rp
mov
r15
=
r33
//
ap
#endif
mov
ar
.
lc
=
r10
}
{
.
mii
; mov r39=0 // serves as r33 at first (p26)
mov
r18
=
r32
//
rp
copy
#if defined(_HPUX_SOURCE) && defined(_ILP32)
addp4
r18
=
0
,
r32
//
rp
copy
#else
mov
r18
=
r32
//
rp
copy
#endif
mov
ar
.
ec
=
14
}
;;
//
This
loop
spins
in
3
*(
n
+
13
)
ticks
on
Itanium
and
should
spin
in
...
...
@@ -428,7 +474,7 @@ bn_mul_add_words:
nop.b
0x0
}
;;
{
.
mii
;
(
p59
)
add
r8
=
1
,
r8
mov
pr
=
r9
,
-
1
mov
pr
=
r9
,
0x1ffff
mov
ar
.
lc
=
r3
}
{
.
mfb
; rum 1<<5 // clear um.mfh
nop.f
0x0
...
...
@@ -461,6 +507,10 @@ bn_sqr_words:
mov
r9
=
pr
}
;;
.
body
#if defined(_HPUX_SOURCE) && defined(_ILP32)
{
.
mii
; addp4 r32=0,r32
addp4
r33
=
0
,
r33
}
;;
#endif
{
.
mib
;
mov
pr
.
rot
=
1
<<
16
brp.loop.imp
.
L_bn_sqr_words_ctop
,
.
L_bn_sqr_words_cend
-
16
...
...
@@ -492,7 +542,7 @@ bn_sqr_words:
.
L_bn_sqr_words_cend
:
{
.
mii
; nop.m 0x0
mov
pr
=
r9
,
-
1
mov
pr
=
r9
,
0x1ffff
mov
ar
.
lc
=
r3
}
{
.
mfb
; rum 1<<5 // clear um.mfh
nop.f
0x0
...
...
@@ -526,7 +576,14 @@ bn_sqr_comba8:
.
prologue
.
fframe
0
.
save
ar
.
pfs
,
r2
#if defined(_HPUX_SOURCE) && defined(_ILP32)
{
.
mii
; alloc r2=ar.pfs,2,1,0,0
addp4
r33
=
0
,
r33
addp4
r32
=
0
,
r32
}
;;
{
.
mii
;
#else
{
.
mii
; alloc r2=ar.pfs,2,1,0,0
#endif
mov
r34
=
r33
add
r14
=
8
,
r33
}
;;
.
body
...
...
@@ -587,7 +644,14 @@ bn_mul_comba8:
.
prologue
.
fframe
0
.
save
ar
.
pfs
,
r2
#if defined(_HPUX_SOURCE) && defined(_ILP32)
{
.
mii
; alloc r2=ar.pfs,3,0,0,0
addp4
r33
=
0
,
r33
addp4
r34
=
0
,
r34
}
;;
{
.
mii
; addp4 r32=0,r32
#else
{
.
mii
; alloc r2=ar.pfs,3,0,0,0
#endif
add
r14
=
8
,
r33
add
r17
=
8
,
r34
}
.
body
...
...
@@ -1138,7 +1202,14 @@ bn_sqr_comba4:
.
prologue
.
fframe
0
.
save
ar
.
pfs
,
r2
#if defined(_HPUX_SOURCE) && defined(_ILP32)
{
.
mii
; alloc r2=ar.pfs,2,1,0,0
addp4
r32
=
0
,
r32
addp4
r33
=
0
,
r33
}
;;
{
.
mii
;
#else
{
.
mii
; alloc r2=ar.pfs,2,1,0,0
#endif
mov
r34
=
r33
add
r14
=
8
,
r33
}
;;
.
body
...
...
@@ -1164,7 +1235,14 @@ bn_mul_comba4:
.
prologue
.
fframe
0
.
save
ar
.
pfs
,
r2
#if defined(_HPUX_SOURCE) && defined(_ILP32)
{
.
mii
; alloc r2=ar.pfs,3,0,0,0
addp4
r33
=
0
,
r33
addp4
r34
=
0
,
r34
}
;;
{
.
mii
; addp4 r32=0,r32
#else
{
.
mii
; alloc r2=ar.pfs,3,0,0,0
#endif
add
r14
=
8
,
r33
add
r17
=
8
,
r34
}
.
body
...
...
@@ -1464,7 +1542,7 @@ bn_div_words:
or
r8
=
r8
,
r33
mov
ar
.
pfs
=
r2
}
;;
{
.
mii
; shr.u r9=H,I // remainder if anybody wants it
mov
pr
=
r10
,
-
1
}
mov
pr
=
r10
,
0x1ffff
}
{
.
mfb
; br.ret.sptk.many b0 };;
//
Unsigned
64
by
32
(
well
,
by
64
for
the
moment
)
bit
integer
division
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录