Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: 81ba76f7df45b7bb18edae55375ea3b6abde4351
      
https://github.com/tianocore/edk2/commit/81ba76f7df45b7bb18edae55375ea3b6abde4351
  Author: Oliver Smith-Denny <o...@microsoft.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M PrmPkg/PrmPkg.dsc
    M PrmPkg/Readme.md
    M PrmPkg/Samples/Readme.md

  Log Message:
  -----------
  PrmPkg: Clarify Architecture Support

Remove IA32 from supported architectures, as the MSVC build actually
fails due to the linker expecting a __stdcall calling convention.
IA32 PRMs are not supported anyway, only 64 bit OSes support PRM,
so simply drop the building of IA32 PrmPkg and clarify the README.
While there, clean up some markdown errors.

Signed-off-by: Oliver Smith-Denny <o...@microsoft.com>


  Commit: 4613eb6abc22923a683f3f090601896eee4c4179
      
https://github.com/tianocore/edk2/commit/4613eb6abc22923a683f3f090601896eee4c4179
  Author: Oliver Smith-Denny <o...@microsoft.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M EmulatorPkg/EmulatorPkg.dsc
    M EmulatorPkg/Win/Host/WinHost.inf

  Log Message:
  -----------
  EmulatorPkg: Fix IA32 MSVC Linker Warnings

IA32 EmulatorPkg had many linker warnings because with the current
set of linker flags, the MSVC linker was expecting the __stdcall
calling convention on all entry points. This was an effect of
having /SUBSYSTEM:CONSOLE on all binaries built in EmulatorPkg; this
is only needed on WinHost, as that is what Windows launches. The linker
options are adjusted to only set /SUBSYSTEM:CONSOLE on WinHost.

Signed-off-by: Oliver Smith-Denny <o...@microsoft.com>


  Commit: 14cb48b0a053b44c5a6bcc89cbbbf86ac78c7820
      
https://github.com/tianocore/edk2/commit/14cb48b0a053b44c5a6bcc89cbbbf86ac78c7820
  Author: Oliver Smith-Denny <o...@microsoft.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M BaseTools/Conf/tools_def.template

  Log Message:
  -----------
  BaseTools: Break Build on Linker Warnings

Today VS2022 and GCC are set to treat all compiler warnings as
errors and break the build. However, linker warnings for both
do not break the build. There are critical errors that can be
treated as warnings as the linker, such as not finding the
module entry point and use a default address as the entry
point. This will cause a runtime crash for something that
should be caught at build time.

This commit adds /WX to VS2022's DLINK_FLAGS and --fatal-warnings
to GCC's DLINK_FLAGS for IA32, X64, ARM, and AARCH64 in order to
break the build on linker warnings.

VS2022 linker warning 4210 is ignored for all builds because it
checks for static initializers and the linking of the VCRuntime.
edk2 never links the VCRuntime (except for HOST_APPLICATIONs) and
so the presence of static initializers will always cause this
warning, even when the edk2 code calls these initializers that
would otherwise be called in the _CRT_INIT function of the
VCRuntime. At the time of this commit, it only fails in CryptoPkg
for building OpenSSL, but could fail anywhere a static initializer
is used.

Signed-off-by: Oliver Smith-Denny <o...@microsoft.com>


Compare: https://github.com/tianocore/edk2/compare/336e7e06eb91...14cb48b0a053

To unsubscribe from these emails, change your notification settings at 
https://github.com/tianocore/edk2/settings/notifications


_______________________________________________
edk2-commits mailing list
edk2-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to