From 8541f319cb840abae054f78757aeddb41b4711a6 Mon Sep 17 00:00:00 2001 From: Darren Kenny Date: Wed, 16 Mar 2022 17:25:04 +0000 Subject: [PATCH] grub-mkimage: Only check aarch64 relocations when built for aarch64 Coverity flagged the switch checks for R_AARCH64_* as being logically dead code, since it could never happen on x86 due to the masking of the values earlier in the code. A check for building on __arm__ (which gcc and clang define) and for MKIMAGE_ELF64 (which GRUB defines) has been added to avoid this dead code being built in. Fixes: CID 158599 Signed-off-by: Darren Kenny Reviewed-by: Daniel Kiper --- util/grub-mkimagexx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c index 9762bc80e..1e29e255e 100644 --- a/util/grub-mkimagexx.c +++ b/util/grub-mkimagexx.c @@ -1631,6 +1631,7 @@ translate_relocation_pe (struct translate_context *ctx, } break; case EM_AARCH64: +#if defined(MKIMAGE_ELF64) && defined(__arm__) switch (ELF_R_TYPE (info)) { case R_AARCH64_ABS64: @@ -1666,6 +1667,7 @@ translate_relocation_pe (struct translate_context *ctx, (unsigned int) ELF_R_TYPE (info)); break; } +#endif /* defined(MKIMAGE_ELF64) && define(__arm__) */ break; break; #if defined(MKIMAGE_ELF32) -- 2.47.3