I have built and verified that the firmware built for Quark still POSTs. QuarkPlatformPkg Reviewed-by: Kelly Steele <kelly.ste...@intel.com>
QuarkSocPkg Reviewed-by: Kelly Steele <kelly.ste...@intel.com> > -----Original Message----- > From: Laszlo Ersek [mailto:ler...@redhat.com] > Sent: March 24, 2016 03:37 > To: edk2-devel-01 <edk2-de...@ml01.01.org> > Cc: Andrew Fish <af...@apple.com>; Ard Biesheuvel > <ard.biesheu...@linaro.org>; Tian, Feng <feng.t...@intel.com>; Wu, Hao A > <hao.a...@intel.com>; Fan, Jeff <jeff....@intel.com>; Wu, Jiaxin > <jiaxin...@intel.com>; Yao, Jiewen <jiewen....@intel.com>; Justen, Jordan L > <jordan.l.jus...@intel.com>; Steele, Kelly <kelly.ste...@intel.com>; Gao, > Liming <liming....@intel.com>; Ma, Maurice <maurice...@intel.com>; > Kinney, Michael D <michael.d.kin...@intel.com>; Agyeman, Prince > <prince.agye...@intel.com>; Ni, Ruiyu <ruiyu...@intel.com>; Fu, Siyuan > <siyuan...@intel.com>; Zeng, Star <star.z...@intel.com>; Zhu, Yonghong > <yonghong....@intel.com> > Subject: [PATCH 00/35] remove unused but set variables > > This series removes unused but set variables from edk2, so that the > source builds after Ard's patch (the last one in this series) lets > -Wunused-but-set-variables take effect for GCC DEBUG builds. > > I used the following method for locating these warnings: > * "-Werror" was temporarily removed; > * I rounded up the DSC files in the tree; > * I built each DSC file for: > { RELEASE, DEBUG } x { IA32, X64, ARM, AARCH64 }; > * some platform DSCs obviously don't build for all four arches above, I > ignored those errors; > * some platforms I couldn't build at all, I ignored those too; > * for the rest (i.e., when a given DSC built for at least some > platforms), I collected the warnings from the logs, across all the > arches that the DSC did build for, and I silenced them. > > Maintainers are invited to exert caution while reviewing the patches. > Namely, in a few cases, the silencing is almost certainly wrong, and > should be replaced with proper error checking. These are the cases when > a Status variable is set from a function call, but then never checked. I > didn't try to handle these errors myself; I just removed the Status > variable. > > Obviously, this method does not change behavior, but the gcc warning in > this case signals something much worse than a forgotten variable: lack > of error handling. So, dear maintainers, if you recognize this pattern > on your turf, please indicate in your reviews that you are going to post > a real error handling fix for that warning. > > The list of DSC's I could build (at least for some architectures): > > AppPkg/AppPkg.dsc > ArmPkg/ArmPkg.dsc > ArmVirtPkg/ArmVirtQemu.dsc > ArmVirtPkg/ArmVirtQemuKernel.dsc > ArmVirtPkg/ArmVirtXen.dsc > BeagleBoardPkg/BeagleBoardPkg.dsc > CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc > CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc > CryptoPkg/CryptoPkg.dsc > DuetPkg/DuetPkgIa32.dsc > DuetPkg/DuetPkgX64.dsc > EdkCompatibilityPkg/EdkCompatibilityPkg.dsc > EmulatorPkg/EmulatorPkg.dsc > IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc > IntelFrameworkPkg/IntelFrameworkPkg.dsc > IntelFspPkg/IntelFspPkg.dsc > IntelFspWrapperPkg/IntelFspWrapperPkg.dsc > MdeModulePkg/MdeModulePkg.dsc > MdePkg/MdePkg.dsc > NetworkPkg/NetworkPkg.dsc > OptionRomPkg/OptionRomPkg.dsc > OvmfPkg/OvmfPkgIa32.dsc > OvmfPkg/OvmfPkgIa32X64.dsc > OvmfPkg/OvmfPkgX64.dsc > PcAtChipsetPkg/PcAtChipsetPkg.dsc > PerformancePkg/PerformancePkg.dsc > QuarkSocPkg/QuarkSocPkg.dsc > SecurityPkg/SecurityPkg.dsc > ShellPkg/ShellPkg.dsc > SourceLevelDebugPkg/SourceLevelDebugPkg.dsc > StdLib/StdLib.dsc > UefiCpuPkg/UefiCpuPkg.dsc > > (Side note: CryptoPkg implies OpenSSL-1.0.2g.) > > The list of DSC's that wouldn't build for me at all (on Linux, with > GCC48): > > EmbeddedPkg/EmbeddedPkg.dsc > Nt32Pkg/Nt32Pkg.dsc > Omap35xxPkg/Omap35xxPkg.dsc > QuarkPlatformPkg/Quark.dsc > QuarkPlatformPkg/QuarkMin.dsc > Vlv2TbltDevicePkg/PlatformPkgConfig.dsc > Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc > Vlv2TbltDevicePkg/PlatformPkgIA32.dsc > Vlv2TbltDevicePkg/PlatformPkgX64.dsc > > Fixing any possible warnings in these packages is left as an exercise to > their respective maintainers. > > Public branch: > <https://github.com/lersek/edk2/commits/warn_unused_but_set>. > > Cc: Andrew Fish <af...@apple.com> > Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> > Cc: Feng Tian <feng.t...@intel.com> > Cc: Hao Wu <hao.a...@intel.com> > Cc: Jeff Fan <jeff....@intel.com> > Cc: Jiaxin Wu <jiaxin...@intel.com> > Cc: Jiewen Yao <jiewen....@intel.com> > Cc: Jordan Justen <jordan.l.jus...@intel.com> > Cc: Kelly Steele <kelly.ste...@intel.com> > Cc: Liming Gao <liming....@intel.com> > Cc: Maurice Ma <maurice...@intel.com> > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Cc: Michael Kinney <michael.d.kin...@intel.com> > Cc: Prince Agyeman <prince.agye...@intel.com> > Cc: Ruiyu Ni <ruiyu...@intel.com> > Cc: Siyuan Fu <siyuan...@intel.com> > Cc: Star Zeng <star.z...@intel.com> > Cc: Yonghong Zhu <yonghong....@intel.com> > > Thanks > Laszlo > > Ard Biesheuvel (3): > MdeModulePkg/PciHostBridgeDxe: remove unused but set variables > UefiCpuPkg/MtrrLib: remove unused but set variable > BaseTools/GCC: set -Wno-unused-but-set-variables only on RELEASE > builds > > Laszlo Ersek (32): > CorebootPayloadPkg: FbGop: remove set but unused variables > CorebootPayloadPkg: PlatformBdsLib: remove set but unused variables > EdkCompatibilityPkg: UefiEfiIfrSupportLib: remove set but not used > variables > EdkCompatibilityPkg: BsSerialStatusCode: remove set but unused > variable > EdkCompatibilityPkg: EdkIIGlueLib: remove set but unused variables > EdkCompatibilityPkg: SmmBaseHelper: remove set but unused variables > EmulatorPkg: CpuRuntimeDxe: remove set but unused variables > IntelFrameworkModulePkg: BiosVideo: remove set but unused variable > IntelFrameworkModulePkg: DxeCapsuleLib: remove set but unused > variables > IntelFrameworkModulePkg: LegacyBootMaintUiLib: remove set but unused > variables > IntelFspWrapperPkg: PeiFspHobProcessLibSample: remove set but unused > variables > MdeModulePkg: BootManagerMenuApp: remove set but unused variables > MdeModulePkg: UfsPassThruDxe: remove set but unused variables > MdeModulePkg: BootMaintenanceManagerUiLib: remove set but unused > variables > MdeModulePkg: DeviceManagerUiLib: remove set but unused variables > NetworkPkg: IpSecDxe: remove set but unused variables > OptionRomPkg: FtdiUsbSerialDxe: remove set but unused variables > QuarkSocPkg: IntelQNCLib: remove set but unused variables > QuarkSocPkg: MtrrLib: remove set but unused variables > QuarkSocPkg: QNCSmmLib: remove set but unused variables > QuarkSocPkg: MemoryInit/Pei: remove set but unused variable TRFC > QuarkSocPkg: QNCInit/Dxe: remove set but unused variables > QuarkSocPkg: SmmControlDxe: remove set but unused variables > QuarkSocPkg: SmmControlPei: remove set but unused variables > QuarkSocPkg: Spi/Common: remove set but unused variables > QuarkSocPkg: SDMediaDeviceDxe: remove set but unused variables > QuarkSocPkg: Ohci/Dxe: remove set but unused variables > QuarkSocPkg: Ohci/Pei: remove set but unused variables > SourceLevelDebugPkg: DebugAgentCommon: remove set but unused variables > SourceLevelDebugPkg: DebugCommunicationLibUsb: remove set but unused > variables > UefiCpuPkg: PiSmmCpuDxeSmm: remove set but unused variables > UefiCpuPkg: CpuMpPei: remove set but unused variables > > QuarkSocPkg/QuarkNorthCluster/Library/QNCSmmLib/QNCSmmLib.inf > | 1 - > CorebootPayloadPkg/FbGop/FbGop.c > | 17 ++++----- > CorebootPayloadPkg/Library/PlatformBdsLib/BdsPlatform.c > | 2 -- > EdkCompatibilityPkg/Compatibility/SmmBaseHelper/SmmBaseHelper.c > | 19 +++++------ > > EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiIfrComm > on.c | 4 --- > > EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiIfrForm. > c | 4 --- > > EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiIfrOpCod > eCreation.c | 2 -- > > EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxePerformanceL > ib/PerformanceLib.c | 5 --- > > EdkCompatibilityPkg/Sample/Platform/Generic/RuntimeDxe/StatusCode/Lib/Bs > SerialStatusCode/BsSerialStatusCode.c | 4 --- > EmulatorPkg/CpuRuntimeDxe/Cpu.c > | 9 ----- > IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/BiosVideo.c > | 13 ++++--- > IntelFrameworkModulePkg/Library/DxeCapsuleLib/DxeCapsuleLib.c > | 2 -- > > IntelFrameworkModulePkg/Library/LegacyBootMaintUiLib/LegacyBootMaintUi. > c | 16 --------- > > IntelFspWrapperPkg/Library/PeiFspHobProcessLibSample/FspHobProcessLibSam > ple.c | 3 +- > MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.c > | 2 -- > MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridge.c > | 8 ----- > MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThru.c > | 4 --- > MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThruHci.c > | 7 +--- > MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenance.c > | 6 ---- > MdeModulePkg/Library/BootMaintenanceManagerUiLib/UpdatePage.c > | 2 -- > MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c > | 2 -- > NetworkPkg/IpSecDxe/Ikev2/Utility.c > | > 2 -- > OptionRomPkg/Bus/Usb/FtdiUsbSerialDxe/FtdiUsbSerialDriver.c > | 2 -- > QuarkSocPkg/QuarkNorthCluster/Library/IntelQNCLib/PciExpress.c > | 13 +------ > QuarkSocPkg/QuarkNorthCluster/Library/MtrrLib/MtrrLib.c > | 2 -- > QuarkSocPkg/QuarkNorthCluster/Library/QNCSmmLib/QNCSmmLib.c > | 4 +-- > QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/meminit.c > | 3 +- > QuarkSocPkg/QuarkNorthCluster/QNCInit/Dxe/QNCInit.c > | 3 -- > > QuarkSocPkg/QuarkNorthCluster/Smm/Dxe/SmmControlDxe/SmmControlDriver > .c | 4 +-- > QuarkSocPkg/QuarkNorthCluster/Smm/Pei/SmmControlPei/SmmControlPei.c > | 4 +-- > QuarkSocPkg/QuarkNorthCluster/Spi/Common/SpiCommon.c > | 23 ------------- > QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDMediaDeviceDxe/CEATA.c > | 3 -- > > QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDMediaDeviceDxe/CEATABlockIo.c > | 3 +- > > QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDMediaDeviceDxe/MMCSDTransfe > r.c | 2 -- > QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Dxe/Ohci.c > | 9 ----- > QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Dxe/OhciReg.c > | 5 +-- > QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Pei/OhcPeim.c > | 10 ------ > QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Pei/OhciReg.c > | 2 -- > > SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent. > c | 3 -- > > SourceLevelDebugPkg/Library/DebugCommunicationLibUsb/DebugCommunicati > onLibUsb.c | 14 +------- > UefiCpuPkg/CpuMpPei/CpuMpPei.c > | 3 +- > UefiCpuPkg/Library/MtrrLib/MtrrLib.c > | > 2 -- > UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c > | 34 ++++++------------ > BaseTools/Conf/tools_def.template > | > 36 ++++++++++++++------ > 44 files changed, 68 insertions(+), 250 deletions(-) > > -- > 1.8.3.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel