-
-
Notifications
You must be signed in to change notification settings - Fork 10.7k
Closed
Labels
branch: 1.1.1Merge to OpenSSL_1_1_1-stable branchMerge to OpenSSL_1_1_1-stable branchbranch: 3.0Merge to openssl-3.0 branchMerge to openssl-3.0 branchbranch: 3.1Merge to openssl-3.1Merge to openssl-3.1branch: masterMerge to master branchMerge to master branchtriaged: bugThe issue/pr is/fixes a bugThe issue/pr is/fixes a bug
Description
The target VC-WIN64-ARM fails to build on VS2019. Previously built fine for 3.0.7 but the newly released 3.0.8 does not successfully build. The linker is complaining about _umul128
, which appears to be an Intel x64-specific intrinsic.
This commit appears to be responsible:
x86 and x64 builds work fine in their respective build environments.
...
Configuring OpenSSL version 3.0.8 for target VC-WIN64-ARM
...
"lib" /nologo /out:providers\libcommon.lib @C:\Users\Redacted\AppData\Local\Temp\nmAA8B.tmp
IF EXIST .manifest DEL /F /Q .manifest
IF EXIST libcrypto-3-arm64.dll DEL /F /Q libcrypto-3-arm64.dll
cmd /C ""link" /nologo /debug /dll /NODEFAULTLIB:kernel32.lib /APPCONTAINER /nologo /debug @C:\Users\Redacted\AppData\Local\Temp\nmAACB.tmp /implib:libcrypto.lib || (DEL /Q libcrypto-3-arm64.* libcrypto.lib & EXIT 1)"
Creating library libcrypto.lib and object libcrypto.exp
libcrypto-shlib-rsa_sup_mul.obj : error LNK2019: unresolved external symbol _umul128 referenced in function _mul_add_limb
libcrypto-3-arm64.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: 'cmd' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\ARM64\nmake.exe"' : return code '0x2'
Stop.
Command line (with current working directory = .):
D:\Perl\perl\bin\perl.exe Configure VC-WIN64-ARM shared
Perl information:
D:\Perl\perl\bin\perl.exe
5.32.1 for MSWin32-x86-multi-thread-64int
Enabled features:
aria
async
autoalginit
autoerrinit
autoload-config
bf
blake2
bulk
cached-fetch
camellia
capieng
cast
chacha
cmac
cmp
cms
comp
ct
deprecated
des
dgram
dh
dsa
dso
dtls
dynamic-engine
ec
ec2m
ecdh
ecdsa
engine
err
filenames
gost
idea
legacy
loadereng
makedepend
md4
mdc2
module
multiblock
nextprotoneg
ocb
ocsp
padlockeng
pic
pinshared
poly1305
posix-io
psk
rc2
rc4
rdrand
rfc3779
rmd160
scrypt
secure-memory
seed
shared
siphash
siv
sm2
sm3
sm4
sock
srp
srtp
sse2
ssl
ssl-trace
static-engine
stdio
tests
threads
tls
ts
ui-console
whirlpool
tls1
tls1-method
tls1_1
tls1_1-method
tls1_2
tls1_2-method
tls1_3
dtls1
dtls1-method
dtls1_2
dtls1_2-method
Disabled features:
acvp-tests [cascade] OPENSSL_NO_ACVP_TESTS
afalgeng [not-linux] OPENSSL_NO_AFALGENG
asan [default] OPENSSL_NO_ASAN
asm [no asm_arch] OPENSSL_NO_ASM
buildtest-c++ [default]
crypto-mdebug [default] OPENSSL_NO_CRYPTO_MDEBUG
devcryptoeng [default] OPENSSL_NO_DEVCRYPTOENG
ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128
egd [default] OPENSSL_NO_EGD
external-tests [default] OPENSSL_NO_EXTERNAL_TESTS
fips [default]
fips-securitychecks [cascade] OPENSSL_NO_FIPS_SECURITYCHECKS
fuzz-afl [default] OPENSSL_NO_FUZZ_AFL
fuzz-libfuzzer [default] OPENSSL_NO_FUZZ_LIBFUZZER
ktls [default] OPENSSL_NO_KTLS
md2 [default] OPENSSL_NO_MD2 (skip crypto\md2)
msan [default] OPENSSL_NO_MSAN
rc5 [default] OPENSSL_NO_RC5 (skip crypto\rc5)
sctp [default] OPENSSL_NO_SCTP
trace [default] OPENSSL_NO_TRACE
ubsan [default] OPENSSL_NO_UBSAN
unit-test [default] OPENSSL_NO_UNIT_TEST
uplink [no uplink_arch] OPENSSL_NO_UPLINK
weak-ssl-ciphers [default] OPENSSL_NO_WEAK_SSL_CIPHERS
zlib [default]
zlib-dynamic [default]
ssl3 [default] OPENSSL_NO_SSL3
ssl3-method [default] OPENSSL_NO_SSL3_METHOD
Config target attributes:
AR => "lib",
ARFLAGS => "/nologo",
CC => "cl",
CFLAGS => "/W3 /wd4090 /nologo /O2",
CPP => "\$(CC) /EP /C",
HASHBANGPERL => "/usr/bin/env perl",
LD => "link",
LDFLAGS => "/nologo /debug",
MT => "mt",
MTFLAGS => "-nologo",
RANLIB => "CODE(0x7d600c)",
RC => "rc",
ar_resp_delim => "
",
aroutflag => "/out:",
bin_cflags => "/Zi /Fdapp.pdb",
bin_lflags => "setargv.obj /subsystem:console /opt:ref",
bn_ops => "SIXTY_FOUR_BIT RC4_CHAR",
build_file => "makefile",
build_scheme => [ "unified", "windows", "VC-common" ],
cflags => "/Gs0 /GF /Gy /MD",
coutflag => "/Fo",
cppflags => "",
defines => [ "OPENSSL_BUILDING_OPENSSL", "OPENSSL_SYS_WIN32", "WIN32_LEAN_AND_MEAN", "UNICODE", "_UNICODE", "_CRT_SECURE_NO_DEPRECATE", "_WINSOCK_DEPRECATED_NO_WARNINGS", "_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE", "OPENSSL_SYS_WIN_CORE" ],
disable => [ ],
dso_cflags => "/Zi /Fddso.pdb",
dso_scheme => "win32",
enable => [ ],
ex_libs => "onecore.lib",
includes => [ ],
ld_implib_flag => "/implib:",
ld_resp_delim => "
",
lddefflag => "/def:",
ldoutflag => "/out:",
ldpostoutflag => "",
ldresflag => " ",
lflags => "/NODEFAULTLIB:kernel32.lib /APPCONTAINER",
lib_cflags => "/Zi /Fdossl_static.pdb",
lib_cppflags => "",
lib_defines => [ "L_ENDIAN" ],
makedep_scheme => "VC",
makedepcmd => "\$(CC) /Zs /showIncludes",
module_cflags => "",
module_cxxflags => undef,
module_ldflags => "/dll",
mtinflag => "-manifest ",
mtoutflag => "-outputresource:",
multilib => "-arm64",
perl_platform => "Windows::MSVC",
rcoutflag => "/fo",
shared_cflag => "",
shared_defflag => "",
shared_defines => [ ],
shared_ldflag => "/dll",
shared_rcflag => "",
shared_target => "win-shared",
thread_defines => [ ],
thread_scheme => "winthreads",
unistd => "<unistd.h>",
Recorded environment:
AR =
ARFLAGS =
AS =
ASFLAGS =
BUILDFILE =
CC =
CFLAGS =
CPP =
CPPDEFINES =
CPPFLAGS =
CPPINCLUDES =
CROSS_COMPILE =
CXX =
CXXFLAGS =
HASHBANGPERL =
LD =
LDFLAGS =
LDLIBS =
MT =
MTFLAGS =
OPENSSL_LOCAL_CONFIG_DIR =
PERL =
RANLIB =
RC =
RCFLAGS =
RM =
WINDRES =
__CNF_CFLAGS =
__CNF_CPPDEFINES =
__CNF_CPPFLAGS =
__CNF_CPPINCLUDES =
__CNF_CXXFLAGS =
__CNF_LDFLAGS =
__CNF_LDLIBS =
Makevars:
AR = lib
ARFLAGS = /nologo
CC = cl
CFLAGS = /W3 /wd4090 /nologo /O2
CPP = $(CC) /EP /C
CPPDEFINES =
CPPFLAGS =
CPPINCLUDES =
CXXFLAGS =
HASHBANGPERL = /usr/bin/env perl
LD = link
LDFLAGS = /nologo /debug
LDLIBS =
MT = mt
MTFLAGS = -nologo
PERL = D:\Perl\perl\bin\perl.exe
RC = rc
RCFLAGS =
NOTE: These variables only represent the configuration view. The build file
template may have processed these variables further, please have a look at the
build file for more exact data:
makefile
build file:
makefile
build file templates:
Configurations\common0.tmpl
Configurations\windows-makefile.tmpl
MarcelRaad and cgohlke
Metadata
Metadata
Assignees
Labels
branch: 1.1.1Merge to OpenSSL_1_1_1-stable branchMerge to OpenSSL_1_1_1-stable branchbranch: 3.0Merge to openssl-3.0 branchMerge to openssl-3.0 branchbranch: 3.1Merge to openssl-3.1Merge to openssl-3.1branch: masterMerge to master branchMerge to master branchtriaged: bugThe issue/pr is/fixes a bugThe issue/pr is/fixes a bug