MdeModulePkg series reviewed-by: Feng Tian <feng.t...@intel.com> -----Original Message----- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Laszlo Ersek Sent: Thursday, March 24, 2016 6:37 PM To: edk2-devel-01 Cc: Ni, Ruiyu; Tian, Feng; Ard Biesheuvel; Wu, Hao A; Justen, Jordan L; Andrew Fish; Gao, Liming; Wu, Jiaxin; Yao, Jiewen; Zeng, Star; Kinney, Michael D; Fu, Siyuan; Fan, Jeff; Agyeman, Prince Subject: [edk2] [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/UefiIfrCommon.c | 4 --- EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiIfrForm.c | 4 --- EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiIfrOpCodeCreation.c | 2 -- EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxePerformanceLib/PerformanceLib.c | 5 --- EdkCompatibilityPkg/Sample/Platform/Generic/RuntimeDxe/StatusCode/Lib/BsSerialStatusCode/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/FspHobProcessLibSample.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/MMCSDTransfer.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/DebugCommunicationLibUsb.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 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel