On 06/28/16 15:25, Laszlo Ersek wrote: > Gerd's Jenkins CI worker has recently tried to build a few edk2 packages > with gcc-6. Gcc-6 introduces a new warning (among many others, likely) > called "bool-compare": > > > https://gcc.gnu.org/onlinedocs/gcc-6.1.0/gcc/Warning-Options.html#index-Wbool-compare-453 > > The build broke subsequently, exposing an actual bug in the code: > >> "gcc" -g -fshort-wchar -fno-strict-aliasing -Wall -Werror >> -Wno-array-bounds -ffunction-sections -fdata-sections -c -include >> AutoGen.h -fno-common -DSTRING_ARRAY_NAME=PiSmmCpuDxeSmmStrings -m64 >> -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" >> -DNO_BUILTIN_VA_FUNCS -mno-red-zone -Wno-address -mcmodel=large >> -fno-asynchronous-unwind-tables -Wno-address -mno-mmx -mno-sse -o >> Build/OvmfX64/DEBUG_GCC49/X64/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm/OUTPUT/X64/SmmProfileArch.obj >> -IUefiCpuPkg/PiSmmCpuDxeSmm/X64 -IUefiCpuPkg/PiSmmCpuDxeSmm >> -IBuild/OvmfX64/DEBUG_GCC49/X64/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm/DEBUG >> -IMdePkg -IMdePkg/Include -IMdePkg/Include/X64 -IMdeModulePkg >> -IMdeModulePkg/Include -IUefiCpuPkg -IUefiCpuPkg/Include >> UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmProfileArch.c >> >> In file included from >> Build/OvmfX64/DEBUG_GCC49/X64/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm/DEBUG/AutoGen.h:16:0, >> from <command-line>:0: >> UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmProfileArch.c: In function >> 'InitPagesForPFHandler': >> MdePkg/Include/Base.h:882:75: error: comparison of constant '0' with boolean >> expression is always false [-Werror=bool-compare] >> #define RETURN_ERROR(StatusCode) (((INTN)(RETURN_STATUS)(StatusCode)) < >> 0) >> ^ >> MdePkg/Include/Uefi/UefiBaseType.h:169:35: note: in expansion of macro >> 'RETURN_ERROR' >> #define EFI_ERROR(A) RETURN_ERROR(A) >> ^~~~~~~~~~~~ >> MdePkg/Include/Library/DebugLib.h:341:13: note: in expansion of macro >> 'EFI_ERROR' >> if (EFI_ERROR (StatusParameter)) { >> \ >> ^~~~~~~~~ >> UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmProfileArch.c:81:3: note: in expansion of >> macro 'ASSERT_EFI_ERROR' >> ASSERT_EFI_ERROR (Address != NULL); >> ^~~~~~~~~~~~~~~~ >> cc1: all warnings being treated as errors > > This is fixed by one of the patches in the series (and I added Gerd's > Reported-by there). Then I searched the tree for further misuses of > ASSERT_EFI_ERROR, and fixed what I found. > > Cc: David Wei <[email protected]> > Cc: Gerd Hoffmann <[email protected]> > Cc: Jaben Carsey <[email protected]> > Cc: Jeff Fan <[email protected]> > Cc: Jiaxin Wu <[email protected]> > Cc: Kelly Steele <[email protected]> > Cc: Liming Gao <[email protected]> > Cc: Michael D Kinney <[email protected]> > Cc: Shumin Qiu <[email protected]> > Cc: Siyuan Fu <[email protected]> > Cc: Tim He <[email protected]> > > Thanks > Laszlo > > Laszlo Ersek (6): > EdkCompatibilityPkg: fix ASSERT_EFI_ERROR() typos > NetworkPkg: fix ASSERT_EFI_ERROR() typos > QuarkPlatformPkg: fix ASSERT_EFI_ERROR() typos > ShellPkg: don't call functions with side effects in ASSERT_EFI_ERROR() > UefiCpuPkg: fix ASSERT_EFI_ERROR() typos > Vlv2TbltDevicePkg: fix ASSERT_EFI_ERROR() typos > > EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/HiiDatabase.c | > 2 +- > EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/Utility.c | > 2 +- > NetworkPkg/IpSecDxe/Ikev2/Sa.c | > 2 +- > QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPlatform.c | > 2 +- > QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/MadtPlatform.c | > 2 +- > QuarkPlatformPkg/Library/PlatformHelperLib/PlatformHelperDxe.c | > 2 +- > QuarkPlatformPkg/Platform/Pei/PlatformInit/MrcWrapper.c | > 2 +- > ShellPkg/Library/UefiShellLevel1CommandsLib/If.c | > 10 ++++++++-- > ShellPkg/Library/UefiShellLib/UefiShellLib.c | > 5 ++++- > UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmProfileArch.c | > 2 +- > Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c | > 6 +++--- > Vlv2TbltDevicePkg/Library/MultiPlatformLib/BoardClkGens/BoardClkGens.c | > 8 ++++---- > Vlv2TbltDevicePkg/Library/MultiPlatformLib/PlatformInfoHob.c | > 2 +- > 13 files changed, 28 insertions(+), 19 deletions(-) >
Thanks everyone for the reviews; series committed as 05b39efb669e..2bfd84ed45b2. Gerd, can you pleae kick Jenkins? Thanks! Laszlo _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

