x64 compilation

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

x64 compilation

Majzik Matyas

I have successfully compiled OpenSSL 0.9.8-beta2 using the new platform
SDK which includes 64 bit compiler for AMD 64 and EM64T processors on
windows x64. After the compile the tests are successful and even my 64
bit applications worked properly and fast :))  (Of course I had to use
do_ms or do_nt instead of do_masm because the 64 bit assemler failed on
those asm routines) However during compilation I get warning about
size_t to int and long conversations:
possible loss of data. This is because size_t and even SOCKET is 64 bit
wide in this environment.
Should I care about this? Or it is enough that tests are all successful.

I had to modify nt.mak and and ntdll.mak:

I had to remove /WX and /G5 flags from the compiler directives.
I had to remove /machine:I386 flag from linker directives.
I had to add bufferoverflowU.lib to the libs to enable runtime checks.

However it is impossible to create a dynamic link library. When I want
to compile using ntdll.mak I get the following:
       link /nologo /subsystem:console /opt:ref /dll bufferoverflowU.lib
ut32dll\libeay32.dll /def:ms/LIBEAY32.def
ms/LIBEAY32.def(7) : warning LNK4017: DESCRIPTION statement not supported
for the target platform; ignored
  Creating library out32dll\libeay32.lib and object out32dll\libeay32.exp
bss_fd.obj : error LNK2019: unresolved external symbol OPENSSL_UplinkTable
referenced in function fd_free
bss_file.obj : error LNK2001: unresolved external symbol OPENSSL_UplinkTable
b_dump.obj : error LNK2001: unresolved external symbol OPENSSL_UplinkTable
out32dll\libeay32.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: 'link' : return code '0x460'

I also tried to compile 0.9.7g using the 64 bit compiler and it was
successful but using FILE * type routines in this compilation always
result in a crash. Even with /MD and /MT flags properly used.

But beta2 statically linked working flawlessly and absolutely perfectly
on Windows X64 edition using a 64 bit compiler. Great! Can you help
compiling to create dlls?
Matyas Majzik
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [hidden email]
Automated List Manager                           [hidden email]