]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
grub-mkimage: Only check aarch64 relocations when built for aarch64
authorDarren Kenny <darren.kenny@oracle.com>
Wed, 16 Mar 2022 17:25:04 +0000 (17:25 +0000)
committerDaniel Kiper <daniel.kiper@oracle.com>
Mon, 21 Mar 2022 18:34:08 +0000 (19:34 +0100)
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>
util/grub-mkimagexx.c

index 9762bc80e40dfea8e7bc691a6b5994822c425954..1e29e255e8d21554c621916ad3ac63b85aedd4a1 100644 (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)