Commit 3af7a00956 for openssl.org
commit 3af7a00956aabd0afc8b54932e8882091849f30a
Author: Neil Horman <nhorman@openssl.org>
Date: Wed Sep 2 17:03:37 2026 -0400
fix MSVC 2013 builds in shared mode
MSVC is running ok with static linking at the moment, but shared builds
still fail, because all of our dynamically linked tests include
libtestutil.a, which references vsnprintf.
Fix it by including the msvc2013 printf code in libstestutil.a
While we're at it, mix up the 2013 test a bit, so that one of the builds
compiles a static library, and the other does a shared library
Reviewed-by: Mounir Idrassi <mounir.idrassi@idrix.fr>
Reviewed-by: Bob Beck <beck@openssl.org>
MergeDate: Fri Sep 4 16:47:25 2026
(Merged from https://github.com/openssl/openssl/pull/32652)
diff --git a/.github/workflows/compiler-zoo.yml b/.github/workflows/compiler-zoo.yml
index bfa1c7c85f..72d42a9883 100644
--- a/.github/workflows/compiler-zoo.yml
+++ b/.github/workflows/compiler-zoo.yml
@@ -96,8 +96,10 @@ jobs:
include:
- arch: amd64
target: VC-WIN64A-MSVC2013
+ config: no-makedepend no-shared enable-fips -DOSSL_WINCTX=openssl
- arch: x86
target: VC-WIN32-MSVC2013
+ config: no-makedepend enable-fips -DOSSL_WINCTX=openssl
runs-on: windows-2022
env:
IMAGE: ghcr.io/openssl/openssl-vs2013:latest
@@ -114,19 +116,13 @@ jobs:
run: docker pull %IMAGE%
- name: config
run: |
- $config = @(
- 'no-makedepend'
- 'no-shared'
- 'enable-fips'
- '-DOSSL_WINCTX=openssl'
- ) -join ' '
$chain = @(
# 'call', not a bare invocation: cmd does not necessarily return from a
# batch file run without it, which would skip the rest of the chain.
"call $env:VCVARS"
'mkdir _build'
'cd _build'
- "perl ..\Configure ${{ matrix.target }} --banner=Configured $config"
+ "perl ..\Configure ${{ matrix.target }} --banner=Configured ${{ matrix.config }}"
'perl configdata.pm --dump'
) -join ' && '
docker run --rm --isolation=process -v "${env:GITHUB_WORKSPACE}:C:\src" `
diff --git a/test/build.info b/test/build.info
index 6be71ede1a..c87988312b 100644
--- a/test/build.info
+++ b/test/build.info
@@ -37,6 +37,9 @@ IF[{- !$disabled{tests} -}]
testutil/options.c testutil/test_options.c testutil/provider.c \
testutil/apps_shims.c testutil/random.c testutil/helper.c \
testutil/compare.c mfail/mfail.c $LIBAPPSSRC
+ IF[{- $target{needs_c99_snprintf_compat} -}]
+ SOURCE[libtestutil.a]=../crypto/msvc2013_snprintf.c
+ ENDIF
INCLUDE[libtestutil.a]=../include ../apps/include .. mfail
DEPEND[libtestutil.a]=../libcrypto