提交 94de0419 编写于 作者: D Dr. Stephen Henson

Fix so Win32 assembly language works with MASM.

Add info about where to get MASM.
上级 1070e0e2
...@@ -4,6 +4,13 @@ ...@@ -4,6 +4,13 @@
Changes between 0.9.4 and 0.9.5 [xx XXX 2000] Changes between 0.9.4 and 0.9.5 [xx XXX 2000]
*) Add an optional second argument to the set_label() in the perl
assembly language builder. If this argument exists and is set
to 1 it signals that the assembler should use a symbol whose
scope is the entire file, not just the current function. This
is needed with MASM which uses the format label:: for this scope.
[Steve Henson, pointed out by Peter Runestig <peter@runestig.com>]
*) Change the ASN1 types so they are typedefs by default. Before *) Change the ASN1 types so they are typedefs by default. Before
almost all types were #define'd to ASN1_STRING which was causing almost all types were #define'd to ASN1_STRING which was causing
STACK_OF() problems: you couldn't declare STACK_OF(ASN1_UTF8STRING) STACK_OF() problems: you couldn't declare STACK_OF(ASN1_UTF8STRING)
......
...@@ -21,10 +21,12 @@ ...@@ -21,10 +21,12 @@
* Microsoft MASM (aka "ml") * Microsoft MASM (aka "ml")
* Free Netwide Assembler NASM. * Free Netwide Assembler NASM.
MASM was I believe distributed in the past with VC++ and it is also part of MASM was at one point distributed with VC++. It is now distributed with some
the MSDN SDKs. It is no longer distributed as part of VC++ and can be hard Microsoft DDKs, for example the Windows NT 4.0 DDK and the Windows 98 DDK. If you
to get hold of. It can be purchased: see Microsoft's site for details at: do not have either of these DDKs then you can just download the binaries for the
http://www.microsoft.com/ Windows 98 DDK and extract and rename the two files XXXXXml.exe and XXXXXml.err,
to ml.exe and ml.err and install somewhere on your PATH. Both DDKs can be downloaded
from the Microsoft developers site www.msdn.com.
NASM is freely available. Version 0.98 was used during testing: other versions NASM is freely available. Version 0.98 was used during testing: other versions
may also work. It is available from many places, see for example: may also work. It is available from many places, see for example:
...@@ -145,12 +147,16 @@ ...@@ -145,12 +147,16 @@
assigned in the CVS tree: so anything linked against this version of the assigned in the CVS tree: so anything linked against this version of the
library may need to be recompiled. library may need to be recompiled.
If you get errors about unresolved externals then this means that either you If you get errors about unresolved symbols there are several possible
didn't read the note above about functions not having numbers assigned or causes.
someone forgot to add a function to the header file.
In this latter case check out the header file to see if the function is If this happens when the DLL is being linked and you have disabled some
defined in the header file. ciphers then it is possible the DEF file generator hasn't removed all
the disabled symbols: the easiest solution is to edit the DEF files manually
to delete them. The DEF files are ms\libeay32.def ms\ssleay32.def.
Another cause is if you missed or ignored the errors about missing numbers
mentioned above.
If you get warnings in the code then the compilation will halt. If you get warnings in the code then the compilation will halt.
......
OpenSSL STATUS Last modified at OpenSSL STATUS Last modified at
______________ $Date: 2000/02/25 20:46:09 $ ______________ $Date: 2000/02/27 01:15:18 $
DEVELOPMENT STATE DEVELOPMENT STATE
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
solaris-sparcv9-gcc - test passed solaris-sparcv9-gcc - test passed
hpux-parisc-gcc - test passed hpux-parisc-gcc - test passed
AIX 4.3 (aix-cc) - test passed AIX 4.3 (aix-cc) - test passed
VC++ - assembler error VC++ - test passed
Proposed release time: Monday, February 28th 2000 Proposed release time: Monday, February 28th 2000
o OpenSSL 0.9.4: Released on August 09th, 1999 o OpenSSL 0.9.4: Released on August 09th, 1999
o OpenSSL 0.9.3a: Released on May 29th, 1999 o OpenSSL 0.9.3a: Released on May 29th, 1999
......
...@@ -341,7 +341,14 @@ sub main'set_label ...@@ -341,7 +341,14 @@ sub main'set_label
$label{$_[0]}="${label}${_[0]}"; $label{$_[0]}="${label}${_[0]}";
$label++; $label++;
} }
push(@out,"$label{$_[0]}:\n"); if((defined $_[1]) && ($_[1] == 1))
{
push(@out,"$label{$_[0]}::\n");
}
else
{
push(@out,"$label{$_[0]}:\n");
}
} }
sub main'data_word sub main'data_word
......
...@@ -392,7 +392,7 @@ sub sha1_block_data ...@@ -392,7 +392,7 @@ sub sha1_block_data
&X_expand("esi"); &X_expand("esi");
&mov(&wparam(1),"esi"); &mov(&wparam(1),"esi");
&set_label("shortcut"); &set_label("shortcut", 1);
&comment(""); &comment("");
&comment("Start processing"); &comment("Start processing");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册