Hello, I have tested 1.0.0d release on OpenVMS and found many warnings during the build with 64bits pointer size that produced many annoying warning messages during linking against the library - like:
Building The BNTEST Test Program. %ILINK-W-COMPWARN, compilation warnings module: DSO_VMS file: USRDSK:[ZAY.WORK.OPENSSL-100D.IA64.EXE.CRYPTO]LIBCRYPTO.OLB;1 ...that most likely produces an ACCVIO I have build on an IA64 environment HP C V7.2-001 on OpenVMS IA64 V8.3 and got: test BN_mont Montgomery multiplication test failed! %SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=00649D580064 9D50, PC=0000000000274650, PS=0000001B Improperly handled condition, image exit forced. Signal arguments: Number = 0000000000000005 Name = 000000000000000C 0000000000000000 00649D5800649D50 0000000000274650 000000000000001B Register dump: R0 = 0000000000000000 R1 = 00000000007D0000 R2 = 000000007ACAF340 R3 = 0000000000032A00 R4 = 000000007FFCF818 R5 = 000000007FFCF8B0 R6 = 000000001000000A R7 = 0000000000000001 R8 = 0000000000000000 R9 = 0000000000000014 R10 = 0000000012D061D4 R11 = 0000000012D061C0 SP = 000000007ACAF330 TP = 000000007B722D40 R14 = 000000007B8E19DC R15 = 000000007ACAF330 R16 = 0000000000000001 R17 = 000000000000FFDD R18 = 000000000000001A R19 = 0000000000000040 R20 = 0000000012D061D4 R21 = 0000000012D061C0 R22 = 000000008002A330 R23 = 00000000001DB1A9 R24 = 0000000000000011 R25 = 0000000000000001 R26 = 00005964280C0000 R27 = 0000000031750614 R28 = 0000000000000008 R29 = 0000000000000011 R30 = 00000000B2C85018 R31 = 000000007ACAF7C5 PC = 0000000000274650 BSP/STORE = 000007FDBFFD4448 / 000007FDBFFD4290 PSR = 0000101308026030 IIPA = 0000000000274640 B0 = 0000000000032A30 B6 = 0000000000032A00 B7 = 00000000000326B0 Interrupted Frame RSE Backing Store, Size = 4 registers R32 = 00649D5800649D50 R33 = FFFFFFFF881A3D00 R34 = 0000000000000000 R35 = C000000000000205 It is interesting that the 32 bit pointer size build has not had such problems at all. Unfortunately the 64bit pointer size build on ALPHA has the very same fail. Compaq C V6.4-008 on OpenVMS Alpha V7.3-2 test BN_mont Montgomery multiplication test failed! %SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=0038BF880038BF80, PC=0000000000228FB4, PS=0000001B Improperly handled condition, image exit forced. Signal arguments: Number = 0000000000000005 Name = 000000000000000C 0000000000000000 0038BF880038BF80 0000000000228FB4 000000000000001B Register dump: R0 = 0000000000000002 R1 = 0038BF880038BF80 R2 = 0000000080023F70 R3 = 000000007AE07340 R4 = 0000000000000001 R5 = 00000000000ED530 R6 = 0000000000000000 R7 = 000000007AE073E8 R8 = 00000000000ED550 R9 = 0000000000000002 R10 = 0000000080023F70 R11 = 000000007FFCDBE0 R12 = 000000007FFCDA60 R13 = 000000007AF247E0 R14 = 0000000000000000 R15 = 000000007AF23E20 R16 = 0038BF880038BF80 R17 = 000000007AE07340 R18 = 000000007AE072E8 R19 = 0000000000000001 R20 = 00000000000000CB R21 = 0000000000000020 R22 = 0000000023A567C0 R23 = 0000000000000000 R24 = 0000000000000014 R25 = 0000000000000001 R26 = 0000000000228E2C R27 = 000000000004CE58 R28 = 000000002825CECD R29 = 000000007AE07260 SP = 000000007AE07260 PC = 0000000000228FB4 PS = 200000000000001B @MAKEVMS.COM ALL 64 nodebug ---------------------------------------------------------------------------------------------------------------------------------------------------- Compiling The o_dir.c File. (LIBRARY,LIB) (*ctx)->filespec_dsc.dsc$a_pointer = (*ctx)->filespec; ...........................................^ %CC-W-MAYLOSEDATA2, In this statement, "(*ctx)->filespec" has a larger data size than "short pointer to char". Assignment can result in data loss. at line number 121 in file USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO]LPDIR_VMS.C;1 %LIBRAR-W-COMCOD, compilation warnings in module O_DIR file USRDSK:[ZAY.WORK.OPE NSSL-100D.IA64.OBJ.CRYPTO]O_DIR.OBJ;1 ---------------------------------------------------------------------------------------------------------------------------------------------------- dso_vms.c p->filename_dsc.dsc$a_pointer = p->filename; ........................................^ %CC-W-MAYLOSEDATA2, In this statement, "p->filename" has a larger data size than "short pointer to char". Assignment can result in data loss. at line number 212 in file USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.DSO]DSO_VMS.C;1 p->imagename_dsc.dsc$a_pointer = p->imagename; .........................................^ %CC-W-MAYLOSEDATA2, In this statement, "p->imagename" has a larger data size tha n "short pointer to char". Assignment can result in data loss. at line number 216 in file USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.DSO]DSO_VMS.C;1 symname_dsc.dsc$a_pointer = (char *)symname; /* The cast is needed */ ....................................^ %CC-W-MAYLOSEDATA2, In this statement, "(char ...)symname" has a larger data siz e than "short pointer to char". Assignment can result in data loss. at line number 298 in file USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.DSO]DSO_VMS.C;1 fab.fab$l_fna = (char *)filespec1; ........................^ %CC-W-MAYLOSEDATA2, In this statement, "(char ...)filespec1" has a larger data s ize than "short pointer to char". Assignment can result in data loss. at line number 401 in file USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.DSO]DSO_VMS.C;1 fab.fab$l_dna = (char *)filespec2; ........................^ %CC-W-MAYLOSEDATA2, In this statement, "(char ...)filespec2" has a larger data s ize than "short pointer to char". Assignment can result in data loss. at line number 403 in file USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.DSO]DSO_VMS.C;1 nam.naml$l_long_filename = (char *)filespec1; ...........................................^ %CC-W-MAYLOSEDATA2, In this statement, "(char ...)filespec1" has a larger data s ize than "short pointer to char". Assignment can result in data loss. at line number 410 in file USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.DSO]DSO_VMS.C;1 nam.naml$l_long_defname = (char *)filespec2; ..........................................^ %CC-W-MAYLOSEDATA2, In this statement, "(char ...)filespec2" has a larger data s ize than "short pointer to char". Assignment can result in data loss. at line number 417 in file USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.DSO]DSO_VMS.C;1 %LIBRAR-W-COMCOD, compilation warnings in module DSO_VMS file USRDSK:[ZAY.WORK.O PENSSL-100D.IA64.OBJ.CRYPTO]DSO_VMS.OBJ;1 ---------------------------------------------------------------------------------------------------------------------------------------------------- i=ioctlsocket(fd,type,arg); ..........^ %CC-W-MAYLOSEDATA2, In this statement, "arg" has a larger data size than "short pointer to void". Assignment can result in data loss. at line number 554 in file USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.BIO]B_SOCK.C;1 %LIBRAR-W-COMCOD, compilation warnings in module B_SOCK file USRDSK:[ZAY.WORK.OP ENSSL-100D.IA64.OBJ.CRYPTO]B_SOCK.OBJ;1 ---------------------------------------------------------------------------------------------------------------------------------------------------- bss_log.c opc_dsc.dsc$a_pointer = (char *)opcdef_p; ................................^ %CC-W-MAYLOSEDATA2, In this statement, "(char ...)opcdef_p" has a larger data si ze than "short pointer to char". Assignment can result in data loss. at line number 338 in file USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.BIO]BSS_LOG.C;1 %LIBRAR-W-COMCOD, compilation warnings in module BSS_LOG file USRDSK:[ZAY.WORK.O PENSSL-100D.IA64.OBJ.CRYPTO]BSS_LOG.OBJ;1 ---------------------------------------------------------------------------------------------------------------------------------------------------- An informational message - no harm, just to list this as well for completeness sake. if (timeleft.tv_sec < 0) ....................^ %CC-I-QUESTCOMPARE, In this statement, the unsigned expression "timeleft.tv_sec" is being compared with a relational operator to a constant whose value is not g reater than zero. This might not be what you intended. at line number 226 in file USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.BIO]BSS_DGRAM.C; ---------------------------------------------------------------------------------------------------------------------------------------------------- setvbuf(in, NULL, _IONBF, 0); /* don't do buffered reads */ ..................^ %CC-W-MAYLOSEDATA2, In this statement, "in" has a larger data size than "short p ointer to short pointer to struct _iobuf". Assignment can result in data loss. at line number 147 in file USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.RAND]RANDFILE.C; Regards, Z
Hello,
I have tested 1.0.0d release on OpenVMS and found
many warnings during the build with 64bits pointer size that produced many annoying
warning messages during linking against the library – like:
Building The BNTEST Test Program.
%ILINK-W-COMPWARN, compilation warnings
module:
DSO_VMS
file:
USRDSK:[ZAY.WORK.OPENSSL-100D.IA64.EXE.CRYPTO]LIBCRYPTO.OLB;1
…that most likely produces an ACCVIO
I have build on an IA64 environment HP C V7.2-001 on
OpenVMS IA64 V8.3 and got:
test BN_mont
%SYSTEM-F-ACCVIO, access violation, reason mask=00,
virtual address=00649D580064
9D50, PC=0000000000274650, PS=0000001B
Improperly handled condition, image exit
forced.
Signal arguments:
Number = 0000000000000005
Name = 000000000000000C
0000000000000000
00649D5800649D50
0000000000274650
000000000000001B
Register dump:
R0 = 0000000000000000
R1 = 00000000007D0000 R2 = 000000007ACAF340
R3 =
0000000000032A00 R4 = 000000007FFCF818 R5 =
000000007FFCF8B0
R6 = 000000001000000A
R7 = 0000000000000001 R8 = 0000000000000000
R9 = 0000000000000014
R10 = 0000000012D061D4 R11 = 0000000012D061C0
SP = 000000007ACAF330
TP = 000000007B722D40 R14 = 000000007B8E19DC
R15 = 000000007ACAF330 R16 =
0000000000000001 R17 = 000000000000FFDD
R18 = 000000000000001A R19 =
0000000000000040 R20 = 0000000012D061D4
R21 = 0000000012D061C0 R22 =
000000008002A330 R23 = 00000000001DB1A9
R24 = 0000000000000011 R25 =
0000000000000001 R26 = 00005964280C0000
R27 = 0000000031750614 R28 =
0000000000000008 R29 = 0000000000000011
R30 = 00000000B2C85018 R31 =
000000007ACAF7C5 PC = 0000000000274650
BSP/STORE = 000007FDBFFD4448 /
000007FDBFFD4290 PSR = 0000101308026030
IIPA = 0000000000274640
B0 = 0000000000032A30
B6 = 0000000000032A00 B7 = 00000000000326B0
Interrupted Frame RSE Backing
Store, Size = 4 registers
R32 = 00649D5800649D50 R33 =
FFFFFFFF881A3D00 R34 = 0000000000000000
R35 = C000000000000205
It is interesting that the 32 bit pointer size build
has not had such problems at all.
Unfortunately the 64bit pointer size build on ALPHA has
the very same fail.
Compaq C V6.4-008 on OpenVMS Alpha V7.3-2
test BN_mont
%SYSTEM-F-ACCVIO, access violation, reason mask=00,
virtual address=0038BF880038BF80, PC=0000000000228FB4, PS=0000001B
Improperly handled condition, image exit
forced.
Signal arguments:
Number = 0000000000000005
Name = 000000000000000C
0000000000000000
0038BF880038BF80
0000000000228FB4
000000000000001B
Register dump:
R0 = 0000000000000002
R1 = 0038BF880038BF80 R2 = 0000000080023F70
R3 = 000000007AE07340
R4 = 0000000000000001 R5 = 00000000000ED530
R6 = 0000000000000000
R7 = 000000007AE073E8 R8 = 00000000000ED550
R9 = 0000000000000002 R10 =
0000000080023F70 R11 = 000000007FFCDBE0
R12 = 000000007FFCDA60 R13 =
000000007AF247E0 R14 = 0000000000000000
R15 =
000000007AF23E20 R16 = 0038BF880038BF80 R17 = 000000007AE07340
R18 = 000000007AE072E8 R19 =
0000000000000001 R20 = 00000000000000CB
R21 = 0000000000000020 R22 =
0000000023A567C0 R23 = 0000000000000000
R24 = 0000000000000014 R25 =
0000000000000001 R26 = 0000000000228E2C
R27 = 000000000004CE58 R28 =
000000002825CECD R29 = 000000007AE07260
SP = 000000007AE07260
PC = 0000000000228FB4 PS = 200000000000001B
@MAKEVMS.COM ALL 64 nodebug
----------------------------------------------------------------------------------------------------------------------------------------------------
Compiling The o_dir.c File. (LIBRARY,LIB)
(*ctx)->filespec_dsc.dsc$a_pointer = (*ctx)->filespec;
...........................................^
%CC-W-MAYLOSEDATA2, In this statement,
"(*ctx)->filespec" has a larger data size
than "short pointer to char".
Assignment can result in data loss.
at line number 121 in file
USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO]LPDIR_VMS.C;1
%LIBRAR-W-COMCOD, compilation warnings in module
O_DIR file USRDSK:[ZAY.WORK.OPE
NSSL-100D.IA64.OBJ.CRYPTO]O_DIR.OBJ;1
----------------------------------------------------------------------------------------------------------------------------------------------------
dso_vms.c
p->filename_dsc.dsc$a_pointer = p->filename;
........................................^
%CC-W-MAYLOSEDATA2, In this statement,
"p->filename" has a larger data size than
"short pointer to char".
Assignment can result in data loss.
at line number 212 in file
USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.DSO]DSO_VMS.C;1
p->imagename_dsc.dsc$a_pointer = p->imagename;
.........................................^
%CC-W-MAYLOSEDATA2, In this statement,
"p->imagename" has a larger data size tha
n "short pointer to char". Assignment
can result in data loss.
at line number 216 in file USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.DSO]DSO_VMS.C;1
symname_dsc.dsc$a_pointer = (char *)symname; /* The cast is needed */
....................................^
%CC-W-MAYLOSEDATA2, In this statement, "(char
...)symname" has a larger data siz
e than "short pointer to char".
Assignment can result in data loss.
at line number 298 in file
USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.DSO]DSO_VMS.C;1
fab.fab$l_fna = (char *)filespec1;
........................^
%CC-W-MAYLOSEDATA2, In this statement, "(char
...)filespec1" has a larger data s
ize than "short pointer to char".
Assignment can result in data loss.
at line number 401 in file
USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.DSO]DSO_VMS.C;1
fab.fab$l_dna = (char *)filespec2;
........................^
%CC-W-MAYLOSEDATA2, In this statement, "(char
...)filespec2" has a larger data s
ize than "short pointer to char".
Assignment can result in data loss.
at line number 403 in file
USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.DSO]DSO_VMS.C;1
nam.naml$l_long_filename = (char *)filespec1;
...........................................^
%CC-W-MAYLOSEDATA2, In this statement, "(char
...)filespec1" has a larger data s
ize than "short pointer to char".
Assignment can result in data loss.
at line number 410 in file
USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.DSO]DSO_VMS.C;1
nam.naml$l_long_defname = (char *)filespec2;
..........................................^
%CC-W-MAYLOSEDATA2, In this statement, "(char
...)filespec2" has a larger data s
ize than "short pointer to char".
Assignment can result in data loss.
at line number 417 in file
USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.DSO]DSO_VMS.C;1
%LIBRAR-W-COMCOD, compilation warnings in module
DSO_VMS file USRDSK:[ZAY.WORK.O
PENSSL-100D.IA64.OBJ.CRYPTO]DSO_VMS.OBJ;1
----------------------------------------------------------------------------------------------------------------------------------------------------
i=ioctlsocket(fd,type,arg);
..........^
%CC-W-MAYLOSEDATA2, In this statement,
"arg" has a larger data size than "short
pointer to void". Assignment can result in
data loss.
at line number 554 in file
USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.BIO]B_SOCK.C;1
%LIBRAR-W-COMCOD, compilation warnings in module
B_SOCK file USRDSK:[ZAY.WORK.OP
ENSSL-100D.IA64.OBJ.CRYPTO]B_SOCK.OBJ;1
----------------------------------------------------------------------------------------------------------------------------------------------------
bss_log.c
opc_dsc.dsc$a_pointer = (char *)opcdef_p;
................................^
%CC-W-MAYLOSEDATA2, In this statement, "(char
...)opcdef_p" has a larger data si
ze than "short pointer to char".
Assignment can result in data loss.
at line number 338 in file
USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.BIO]BSS_LOG.C;1
%LIBRAR-W-COMCOD, compilation warnings in module
BSS_LOG file USRDSK:[ZAY.WORK.O
PENSSL-100D.IA64.OBJ.CRYPTO]BSS_LOG.OBJ;1
----------------------------------------------------------------------------------------------------------------------------------------------------
An informational message – no harm, just to
list this as well for completeness sake.
if (timeleft.tv_sec < 0)
....................^
%CC-I-QUESTCOMPARE, In this statement, the unsigned
_expression_ "timeleft.tv_sec"
is being compared with a relational operator to
a constant whose value is not g
reater than zero. This might not be what you
intended.
at line number 226 in file
USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.BIO]BSS_DGRAM.C;
----------------------------------------------------------------------------------------------------------------------------------------------------
setvbuf(in, NULL, _IONBF, 0); /* don't do buffered reads */
..................^
%CC-W-MAYLOSEDATA2, In this statement, "in"
has a larger data size than "short p
ointer to short pointer to struct _iobuf".
Assignment can result in data loss.
at line number 147 in file
USRDSK:[ZAY.WORK.OPENSSL-100D.CRYPTO.RAND]RANDFILE.C;
Regards,
Z