From: Darren Kenny Date: Wed, 16 Mar 2022 17:25:04 +0000 (+0000) Subject: grub-mkimage: Only check aarch64 relocations when built for aarch64 X-Git-Tag: grub-2.12-rc1~430 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8541f319cb840abae054f78757aeddb41b4711a6;p=thirdparty%2Fgrub.git 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 --- 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)