Hello, Attached is a new version, against latest snapshot.
I don't know how the -DOPENSSL_USE_APPLINK works for you guys... It produces invalid asm for me... I don't fully understand what this file do... perl ../ms/uplink.pl coff > uplink-cof.s x86_64-pc-mingw32-gcc -I. -I.. -I../include -D_WINDLL -DOPENSSL_USE_APPLINK -DOPENSSL_PIC -DOPENSSL_THREADS -DDSO_WIN32 -mno-cygwin -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -fomit-frame-pointer -O3 -Wall -D_WIN32_WINNT=0x333 -c -o uplink-cof.o uplink-cof.s uplink-cof.s: Assembler messages: uplink-cof.s:5: Error: suffix or operands invalid for `push' uplink-cof.s:6: Error: suffix or operands invalid for `push' uplink-cof.s:13: Error: suffix or operands invalid for `push' <snip> WIN32_LEAN_AND_MEAN should also be added to regular mingw target. --- diff -urNp openssl-SNAP-20081003/apps/speed.c openssl-SNAP-20081003.mingw64/apps/speed.c --- openssl-SNAP-20081003/apps/speed.c 2007-11-16 17:00:11.000000000 +0200 +++ openssl-SNAP-20081003.mingw64/apps/speed.c 2008-10-20 12:58:43.000000000 +0200 @@ -261,7 +261,8 @@ static SIGRETTYPE sig_done(int sig) #define SIGALRM static unsigned int lapse,schlock; -static void alarm(unsigned int secs) { lapse = secs*1000; } +static void myalarm(unsigned int secs) { lapse = secs*1000; } +#define ALARM myalarm static DWORD WINAPI sleepy(VOID *arg) { @@ -291,6 +291,7 @@ static double Time_F(int s) return app_tminterval(s,usertime); } #else +#define ALARM alarm static double Time_F(int s) { @@ -2514,7 +2515,7 @@ static void print_message(const char *s, BIO_printf(bio_err,mr ? "+DT:%s:%d:%d\n" : "Doing %s for %ds on %d size blocks: ",s,SECONDS,length); (void)BIO_flush(bio_err); - alarm(SECONDS); + ALARM(SECONDS); #else BIO_printf(bio_err,mr ? "+DN:%s:%ld:%d\n" : "Doing %s %ld times on %d size blocks: ",s,num,length); @@ -2532,7 +2533,7 @@ static void pkey_print_message(const cha BIO_printf(bio_err,mr ? "+DTP:%d:%s:%s:%d\n" : "Doing %d bit %s %s's for %ds: ",bits,str,str2,tm); (void)BIO_flush(bio_err); - alarm(RSA_SECONDS); + ALARM(RSA_SECONDS); #else BIO_printf(bio_err,mr ? "+DNP:%ld:%d:%s:%s\n" : "Doing %ld %d bit %s %s's: ",num,bits,str,str2); diff -urNp openssl-SNAP-20081003/Configure openssl-SNAP-20081003.mingw64/Configure --- openssl-SNAP-20081003/Configure 2008-09-16 00:00:05.000000000 +0300 +++ openssl-SNAP-20081003.mingw64/Configure 2008-10-20 12:37:37.000000000 +0200 @@ -496,6 +496,8 @@ my %table=( # MinGW "mingw", "gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::MINGW32:-lws2_32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin:.dll.a", +"mingw64", "gcc:-mno-cygwin -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -fomit-frame-pointer -O3 -Wall -D_WIN32_WINNT=0x333:::MINGW64:-lws2_32 -lgdi32:SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:${no_asm}:win32:cygwin-shared:-D_WINDLL:-mno-cygwin -shared:.dll.a", + # UWIN "UWIN", "cc:-DTERMIOS -DL_ENDIAN -O -Wall:::UWIN::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32", @@ -968,7 +970,7 @@ foreach (sort (keys %disabled)) my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds; -$exe_ext=".exe" if ($target eq "Cygwin" || $target eq "DJGPP" || $target eq "mingw"); +$exe_ext=".exe" if ($target eq "Cygwin" || $target eq "DJGPP" || $target =~ /^mingw*/); $exe_ext=".nlm" if ($target =~ /netware/); $exe_ext=".pm" if ($target =~ /vos/); $openssldir="/usr/local/ssl" if ($openssldir eq "" and $prefix eq ""); --- openssl-SNAP-20081003/engines/e_aep.c 2008-01-04 01:01:24.000000000 +0200 +++ openssl-SNAP-20081003.mingw64/engines/e_aep.c 2008-10-20 12:46:24.000000000 +0200 @@ -62,8 +62,10 @@ #include <unistd.h> #else #include <process.h> +#ifndef _PID_T_ typedef int pid_t; +#endif #endif #if defined(OPENSSL_SYS_NETWARE) && defined(NETWARE_CLIB) #define getpid GetThreadID ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]