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 <darren.kenny@oracle.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
Darren Kenny 2022-03-16 17:25:04 +00:00 committed by Daniel Kiper
parent cd63a2f8cd
commit 8541f319cb

View File

@ -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)