The macro ELF_R_TYPE does not change the underlying type. Here its argument
is a 64-bit Elf64_Xword. Make sure the format code matches.

For the riscv architecture, rel->r_info could be either Elf32_Xword or
Elf64_Xword depending on if 32 or 64-bit risc is being built. So cast to
64-bit value regardless.

Signed-off-by: Glenn Washburn <developm...@efficientek.com>
---
 grub-core/efiemu/i386/loadcore64.c | 3 ++-
 grub-core/kern/arm64/dl.c          | 3 ++-
 grub-core/kern/ia64/dl.c           | 3 ++-
 grub-core/kern/riscv/dl.c          | 5 +++--
 grub-core/kern/sparc64/dl.c        | 3 ++-
 grub-core/kern/x86_64/dl.c         | 3 ++-
 6 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/grub-core/efiemu/i386/loadcore64.c 
b/grub-core/efiemu/i386/loadcore64.c
index 18facf47f..7316efc39 100644
--- a/grub-core/efiemu/i386/loadcore64.c
+++ b/grub-core/efiemu/i386/loadcore64.c
@@ -122,7 +122,8 @@ grub_arch_efiemu_relocate_symbols64 (grub_efiemu_segment_t 
segs,
                     break;
                  default:
                    return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
-                                      N_("relocation 0x%x is not implemented 
yet"),
+                                      N_("relocation 0x%" PRIxGRUB_UINT64_T
+                                         " is not implemented yet"),
                                       ELF_R_TYPE (rel->r_info));
                  }
              }
diff --git a/grub-core/kern/arm64/dl.c b/grub-core/kern/arm64/dl.c
index fb0337319..401672374 100644
--- a/grub-core/kern/arm64/dl.c
+++ b/grub-core/kern/arm64/dl.c
@@ -184,7 +184,8 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
 
        default:
          return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
-                            N_("relocation 0x%x is not implemented yet"),
+                            N_("relocation 0x%" PRIxGRUB_UINT64_T
+                               " is not implemented yet"),
                             ELF_R_TYPE (rel->r_info));
        }
     }
diff --git a/grub-core/kern/ia64/dl.c b/grub-core/kern/ia64/dl.c
index ebcf31629..b19706c50 100644
--- a/grub-core/kern/ia64/dl.c
+++ b/grub-core/kern/ia64/dl.c
@@ -137,7 +137,8 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
          break;
        default:
          return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
-                            N_("relocation 0x%x is not implemented yet"),
+                            N_("relocation 0x%" PRIxGRUB_UINT64_T
+                               " is not implemented yet"),
                             ELF_R_TYPE (rel->r_info));
        }
     }
diff --git a/grub-core/kern/riscv/dl.c b/grub-core/kern/riscv/dl.c
index 6fb8385ef..d78297eee 100644
--- a/grub-core/kern/riscv/dl.c
+++ b/grub-core/kern/riscv/dl.c
@@ -331,8 +331,9 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
          break;
        default:
          return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
-                            N_("relocation 0x%x is not implemented yet"),
-                            ELF_R_TYPE (rel->r_info));
+                            N_("relocation 0x%" PRIxGRUB_UINT64_T
+                               " is not implemented yet"),
+                            (grub_uint64_t) ELF_R_TYPE (rel->r_info));
        }
     }
 
diff --git a/grub-core/kern/sparc64/dl.c b/grub-core/kern/sparc64/dl.c
index 739be4717..bbcce8ed5 100644
--- a/grub-core/kern/sparc64/dl.c
+++ b/grub-core/kern/sparc64/dl.c
@@ -177,7 +177,8 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
          break;
        default:
          return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
-                            N_("relocation 0x%x is not implemented yet"),
+                            N_("relocation 0x%" PRIxGRUB_UINT64_T
+                               " is not implemented yet"),
                             ELF_R_TYPE (rel->r_info));
        }
     }
diff --git a/grub-core/kern/x86_64/dl.c b/grub-core/kern/x86_64/dl.c
index 3a73e6e6c..1af5a0eeb 100644
--- a/grub-core/kern/x86_64/dl.c
+++ b/grub-core/kern/x86_64/dl.c
@@ -107,7 +107,8 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
 
        default:
          return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
-                            N_("relocation 0x%x is not implemented yet"),
+                            N_("relocation 0x%" PRIxGRUB_UINT64_T
+                               " is not implemented yet"),
                             ELF_R_TYPE (rel->r_info));
        }
     }
-- 
2.27.0


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to