summaryrefslogtreecommitdiffstats
path: root/OvmfPkg/Library
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2020-03-07 00:04:42 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2020-03-08 19:45:39 +0000
commita3e25cc8a1dd3d1ea24ed02f90c44221e015e965 (patch)
tree873db1208240826883f2c3ba26ebd078d7802d11 /OvmfPkg/Library
parent40d572f70dc10cbacb331c1f0757000195656087 (diff)
downloadedk2-a3e25cc8a1dd3d1ea24ed02f90c44221e015e965.tar.gz
edk2-a3e25cc8a1dd3d1ea24ed02f90c44221e015e965.tar.bz2
edk2-a3e25cc8a1dd3d1ea24ed02f90c44221e015e965.zip
OvmfPkg/X86QemuLoadImageLib: fix "unused variable" error in X64 DXE builds
When the MDE_CPU_IA32 macro is not defined, there is no access to the "KernelImageHandle" local variable in QemuStartKernelImage(). This breaks the OvmfPkgIa32X64 and OvmfPkgX64 platform builds, at least with gcc-8. Move the local variable to the inner scope, where declaration and usage are inseparable. (Note that such inner-scope declarations are frowned upon in the wider edk2 codebase, but we use them liberally in ArmVirtPkg and OvmfPkg anyway, because they help us reason about variable lifetime and visibility.) Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Philippe Mathieu-Daudé <philmd@redhat.com> Fixes: 7c47d89003a6f8f7f6f0ce8ca7d3e87c630d14cc Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2572 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Diffstat (limited to 'OvmfPkg/Library')
-rw-r--r--OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.c b/OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.c
index c5bd6862b2..1868c9fcaf 100644
--- a/OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.c
+++ b/OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.c
@@ -460,7 +460,6 @@ QemuStartKernelImage (
{
EFI_STATUS Status;
OVMF_LOADED_X86_LINUX_KERNEL *LoadedImage;
- EFI_HANDLE KernelImageHandle;
Status = gBS->OpenProtocol (
*ImageHandle,
@@ -481,6 +480,8 @@ QemuStartKernelImage (
);
#ifdef MDE_CPU_IA32
if (Status == EFI_UNSUPPORTED) {
+ EFI_HANDLE KernelImageHandle;
+
//
// On IA32, EFI_UNSUPPORTED means that the image's machine type is X64 while
// we are expecting a IA32 one, and the StartImage () boot service is unable