Re: Build fails with VS2012

Michael D Kinney

I think there a few categories of tool chains:

1) Tool chains that are in tools_def.txt and are used by EDK II CI to perform pre-commit and post-commit changes. These are documented in Readme.rst
2) Tool chains that are in tools_def.txt that are fully supported by the EDK II community. Should be documented in Readme.rst.
3) Tool chains that are in tools_def.txt, but are not supported by the EDK II community, but some downstream consumers use the tool chain are willing to fix issues that impact them.
4) Tool chains that are in tools_def.txt, but are not used by anyone.

We need to make sure we document (1), (2), and (3) so we can identify and delete (4) from tools_def.txt.



-----Original Message-----
From: Rebecca Cran <>
Sent: Monday, May 10, 2021 6:21 AM
Cc: Kinney, Michael D <>; Tom Lendacky <>
Subject: Re: [edk2-devel] Build fails with VS2012

On 5/10/21 5:56 AM, Laszlo Ersek wrote:
Hi Rebecca


On 05/08/21 21:47, Rebecca Cran wrote:
I'm setting up a new Jenkins server to do Bhyve builds and run on
platforms that aren't currently tested with the GitHub/Azure system.

Since VS2012 appears to be a supported toolchain, I tried building
OvmfPkgX64 with it (I'm also planning on testing VS2013, VS2015, VS2017
and VS2019), but it fails with:

Building ...
: error C2220: warning treated as error - no 'object' file generated
: warning C4306: 'type cast' : conversion from 'int' to
'SEV_ES_AP_JMP_FAR *' of greater size
I think the compiler is justified to complain here:

7b7508ad784d1 (Tom Lendacky 2020-08-12 15:21:42 -0500 1268) JmpFar = (SEV_ES_AP_JMP_FAR *) FixedPcdGet32

The proper way to spell such casts is with (UINTN) in the middle.

Can you please file a new BZ?
I've created

I know the GitHub/Azure system only tests with VS2017 and VS2019: are
there plans to drop the older VS versions, or should they still work?
And would it be considered useful to _check_ that they still work, or
should they be considered unsupported?
I'd suggest dropping them.

Earlier, Ard raised a similar question for gcc too -- IIRC, Ard suggested that GCC4* be removed. I agree with the idea.
Thanks. If we're ready to go ahead, should I create a patch to remove them?

Do you know what the new minimum version of gcc should then be? I'd like
to run builds with it so we can catch any issues.

Would we remove all VS versions except VS2017 and VS2019, or would we
keep others like VS2015 for now?

Rebecca Cran

Join to automatically receive all group messages.