Re: mingw 64-bit build of 1.1.0e

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----Original Message----- From: Richard Levitte
Sent: Sunday, March 12, 2017 3:25 PM
To: openssl-users@xxxxxxxxxxx
Subject: Re:  mingw 64-bit build of 1.1.0e

Just add -m64 on the config line, like this:

./config no-shared zlib -m64 -IC:/_64/msys_630/1.0/local/include \
-LC:/_64/msys_630/1.0/local/lib --prefix=C:/_64/msys_630/1.0/local

This is weird, though... what config target did you get when configuring? Ideally, you should have gotten 'mingw64', which already uses the -m64 flag, so what gives? If you show us the config output, maybe we can help you figure out what actually goes wrong...


Hi Richard,

The command I originally tried was
./config no-shared zlib -IC:/_64/msys_630/1.0/local/include -LC:/_64/msys_630/1.0/local/lib --prefix=C:/_64/msys_630/1.0/local

For that command, the config is in the attached conf0.txt.

If I add the '-m64' switch, then the output (see conf1.txt) changes very little. According to diff, the only change is the insertion of '-m64' in the "CFLAG" line.

Having included the '-m64' switch, if I then proceed to run 'make', I very quickly get a long list of assembler error messages pertaining to push, pop, pushf and popf:

crypto/aes/aes-586.s: Assembler messages:
crypto/aes/aes-586.s:969: Error: invalid instruction suffix for `push'
...
crypto/aes/aes-586.s:970: Error: invalid instruction suffix for `pop'
...
crypto/aes/aes-586.s:2233: Error: invalid instruction suffix for `pushf'
...
crypto/aes/aes-586.s:2350: Error: invalid instruction suffix for `popf'
...

(Adding the no-asm switch to ./config works around that particular problem.)

Matt suggested running 'perl Configure mingw64 no-shared zlib'.
The config output for it is in the attached conf2.txt, and is much more in keeping with expectations.

I'm quite happy to continue building openssl by running that perl command.
I'm also happy to assist with investigating the problem that led to my original post.

Cheers,
Rob
Operating system: x86_64-whatever-mingw
Configuring for mingw
Configuring OpenSSL version 1.1.0e (0x1010005fL)
   no-asan         [default]  OPENSSL_NO_ASAN
   no-crypto-mdebug [default]  OPENSSL_NO_CRYPTO_MDEBUG
   no-crypto-mdebug-backtrace [default]  OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
   no-dynamic-engine [forced]
   no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128
   no-egd          [default]  OPENSSL_NO_EGD
   no-fuzz-afl     [default]  OPENSSL_NO_FUZZ_AFL
   no-fuzz-libfuzzer [default]  OPENSSL_NO_FUZZ_LIBFUZZER
   no-heartbeats   [default]  OPENSSL_NO_HEARTBEATS
   no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
   no-msan         [default]  OPENSSL_NO_MSAN
   no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
   no-sctp         [default]  OPENSSL_NO_SCTP
   no-shared       [option]
   no-ssl-trace    [default]  OPENSSL_NO_SSL_TRACE
   no-ssl3         [default]  OPENSSL_NO_SSL3
   no-ssl3-method  [default]  OPENSSL_NO_SSL3_METHOD
   no-ubsan        [default]  OPENSSL_NO_UBSAN
   no-unit-test    [default]  OPENSSL_NO_UNIT_TEST
   no-weak-ssl-ciphers [default]  OPENSSL_NO_WEAK_SSL_CIPHERS
   no-zlib-dynamic [default]
Configuring for mingw
CC            =gcc
CFLAG
       =-DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE -m32 -Wall -O
3 -fomit-frame-pointer -D_MT  -IC:/_64/msys_630/1.0/local/include
SHARED_CFLAG  =-D_WINDLL
DEFINES       =ZLIB DSO_WIN32 NDEBUG OPENSSL_THREADS
OPENSSL_NO_DYNAMIC_ENGINE OPENSSL_PIC OPENSSL_BN_ASM_PART_WORDS
OPENSSL_IA32_SSE2 OPENSSL_BN_ASM_MONT OPENSSL_BN_ASM_GF2m SHA1_ASM
SHA256_ASM SHA512_ASM RC4_ASM MD5_ASM RMD160_ASM AES_ASM VPAES_ASM
WHIRLPOOL_ASM GHASH_ASM ECP_NISTZ256_ASM PADLOCK_ASM POLY1305_ASM
LFLAG         =
PLIB_LFLAG    =
EX_LIBS
     =-lz -lws2_32 -lgdi32 -lcrypt32 -LC:/_64/msys_630/1.0/local/lib
APPS_OBJ      =win32_init.o
CPUID_OBJ     =x86cpuid.o
UPLINK_OBJ    =
BN_ASM        =bn-586.o co-586.o x86-mont.o x86-gf2m.o
EC_ASM        =ecp_nistz256.o ecp_nistz256-x86.o
DES_ENC       =des-586.o crypt586.o
AES_ENC       =aes-586.o vpaes-x86.o aesni-x86.o
BF_ENC        =bf-586.o
CAST_ENC      =c_enc.o
RC4_ENC       =rc4-586.o
RC5_ENC       =rc5-586.o
MD5_OBJ_ASM   =md5-586.o
SHA1_OBJ_ASM  =sha1-586.o sha256-586.o sha512-586.o
RMD160_OBJ_ASM=rmd-586.o
CMLL_ENC      =cmll-x86.o
MODES_OBJ     =ghash-x86.o
PADLOCK_OBJ   =e_padlock-x86.o
CHACHA_ENC    =chacha-x86.o
POLY1305_OBJ  =poly1305-x86.o
BLAKE2_OBJ    =
PROCESSOR     =
RANLIB        =ranlib
ARFLAGS       =
PERL          =/usr/bin/perl

THIRTY_TWO_BIT mode
BN_LLONG mode

Configured for mingw.
Operating system: x86_64-whatever-mingw
Configuring for mingw
Configuring OpenSSL version 1.1.0e (0x1010005fL)
   no-asan         [default]  OPENSSL_NO_ASAN
   no-crypto-mdebug [default]  OPENSSL_NO_CRYPTO_MDEBUG
   no-crypto-mdebug-backtrace [default]  OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
   no-dynamic-engine [forced]
   no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128
   no-egd          [default]  OPENSSL_NO_EGD
   no-fuzz-afl     [default]  OPENSSL_NO_FUZZ_AFL
   no-fuzz-libfuzzer [default]  OPENSSL_NO_FUZZ_LIBFUZZER
   no-heartbeats   [default]  OPENSSL_NO_HEARTBEATS
   no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
   no-msan         [default]  OPENSSL_NO_MSAN
   no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
   no-sctp         [default]  OPENSSL_NO_SCTP
   no-shared       [option]
   no-ssl-trace    [default]  OPENSSL_NO_SSL_TRACE
   no-ssl3         [default]  OPENSSL_NO_SSL3
   no-ssl3-method  [default]  OPENSSL_NO_SSL3_METHOD
   no-ubsan        [default]  OPENSSL_NO_UBSAN
   no-unit-test    [default]  OPENSSL_NO_UNIT_TEST
   no-weak-ssl-ciphers [default]  OPENSSL_NO_WEAK_SSL_CIPHERS
   no-zlib-dynamic [default]
Configuring for mingw
CC            =gcc
CFLAG
       =-DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE -m32 -Wall -O
3 -fomit-frame-pointer -D_MT  -m64 -IC:/_64/msys_630/1.0/local/include
SHARED_CFLAG  =-D_WINDLL
DEFINES       =ZLIB DSO_WIN32 NDEBUG OPENSSL_THREADS
OPENSSL_NO_DYNAMIC_ENGINE OPENSSL_PIC OPENSSL_BN_ASM_PART_WORDS
OPENSSL_IA32_SSE2 OPENSSL_BN_ASM_MONT OPENSSL_BN_ASM_GF2m SHA1_ASM
SHA256_ASM SHA512_ASM RC4_ASM MD5_ASM RMD160_ASM AES_ASM VPAES_ASM
WHIRLPOOL_ASM GHASH_ASM ECP_NISTZ256_ASM PADLOCK_ASM POLY1305_ASM
LFLAG         =
PLIB_LFLAG    =
EX_LIBS
     =-lz -lws2_32 -lgdi32 -lcrypt32 -LC:/_64/msys_630/1.0/local/lib
APPS_OBJ      =win32_init.o
CPUID_OBJ     =x86cpuid.o
UPLINK_OBJ    =
BN_ASM        =bn-586.o co-586.o x86-mont.o x86-gf2m.o
EC_ASM        =ecp_nistz256.o ecp_nistz256-x86.o
DES_ENC       =des-586.o crypt586.o
AES_ENC       =aes-586.o vpaes-x86.o aesni-x86.o
BF_ENC        =bf-586.o
CAST_ENC      =c_enc.o
RC4_ENC       =rc4-586.o
RC5_ENC       =rc5-586.o
MD5_OBJ_ASM   =md5-586.o
SHA1_OBJ_ASM  =sha1-586.o sha256-586.o sha512-586.o
RMD160_OBJ_ASM=rmd-586.o
CMLL_ENC      =cmll-x86.o
MODES_OBJ     =ghash-x86.o
PADLOCK_OBJ   =e_padlock-x86.o
CHACHA_ENC    =chacha-x86.o
POLY1305_OBJ  =poly1305-x86.o
BLAKE2_OBJ    =
PROCESSOR     =
RANLIB        =ranlib
ARFLAGS       =
PERL          =/usr/bin/perl

THIRTY_TWO_BIT mode
BN_LLONG mode

Configured for mingw.
Configuring OpenSSL version 1.1.0e (0x1010005fL)
   no-asan         [default]  OPENSSL_NO_ASAN
   no-crypto-mdebug [default]  OPENSSL_NO_CRYPTO_MDEBUG
   no-crypto-mdebug-backtrace [default]  OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
   no-dynamic-engine [forced]
   no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128
   no-egd          [default]  OPENSSL_NO_EGD
   no-fuzz-afl     [default]  OPENSSL_NO_FUZZ_AFL
   no-fuzz-libfuzzer [default]  OPENSSL_NO_FUZZ_LIBFUZZER
   no-heartbeats   [default]  OPENSSL_NO_HEARTBEATS
   no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
   no-msan         [default]  OPENSSL_NO_MSAN
   no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
   no-sctp         [default]  OPENSSL_NO_SCTP
   no-shared       [option]
   no-ssl-trace    [default]  OPENSSL_NO_SSL_TRACE
   no-ssl3         [default]  OPENSSL_NO_SSL3
   no-ssl3-method  [default]  OPENSSL_NO_SSL3_METHOD
   no-ubsan        [default]  OPENSSL_NO_UBSAN
   no-unit-test    [default]  OPENSSL_NO_UNIT_TEST
   no-weak-ssl-ciphers [default]  OPENSSL_NO_WEAK_SSL_CIPHERS
   no-zlib-dynamic [default]
Configuring for mingw64
CC            =gcc
CFLAG
       =-DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE -m64 -Wall -O
3 -D_MT
SHARED_CFLAG  =-D_WINDLL
DEFINES       =ZLIB DSO_WIN32 NDEBUG OPENSSL_THREADS
OPENSSL_NO_DYNAMIC_ENGINE OPENSSL_PIC OPENSSL_IA32_SSE2 OPENSSL_BN_ASM_MONT
OPENSSL_BN_ASM_MONT5 OPENSSL_BN_ASM_GF2m SHA1_ASM SHA256_ASM SHA512_ASM
RC4_ASM MD5_ASM AES_ASM VPAES_ASM BSAES_ASM GHASH_ASM ECP_NISTZ256_ASM
PADLOCK_ASM POLY1305_ASM
LFLAG         =
PLIB_LFLAG    =
EX_LIBS       =-lz -lws2_32 -lgdi32 -lcrypt32
APPS_OBJ      =win32_init.o
CPUID_OBJ     =x86_64cpuid.o
UPLINK_OBJ    =
BN_ASM        =asm/x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o
rsaz_exp.o rsaz-x86_64.o rsaz-avx2.o
EC_ASM        =ecp_nistz256.o ecp_nistz256-x86_64.o
DES_ENC       =des_enc.o fcrypt_b.o
AES_ENC       =aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o
aesni-sha1-x86_64.o aesni-sha256-x86_64.o aesni-mb-x86_64.o
BF_ENC        =bf_enc.o
CAST_ENC      =c_enc.o
RC4_ENC       =rc4-x86_64.o rc4-md5-x86_64.o
RC5_ENC       =rc5_enc.o
MD5_OBJ_ASM   =md5-x86_64.o
SHA1_OBJ_ASM  =sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
sha1-mb-x86_64.o sha256-mb-x86_64.o
RMD160_OBJ_ASM=
CMLL_ENC      =cmll-x86_64.o cmll_misc.o
MODES_OBJ     =ghash-x86_64.o aesni-gcm-x86_64.o
PADLOCK_OBJ   =e_padlock-x86_64.o
CHACHA_ENC    =chacha-x86_64.o
POLY1305_OBJ  =poly1305-x86_64.o
BLAKE2_OBJ    =
PROCESSOR     =
RANLIB        =ranlib
ARFLAGS       =
PERL          =perl

SIXTY_FOUR_BIT mode

Configured for mingw64.
-- 
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux