diff options
Diffstat (limited to 'meta/recipes-bsp/grub/files/0001-RISC-V-Restore-the-typcast-to-long.patch')
-rw-r--r-- | meta/recipes-bsp/grub/files/0001-RISC-V-Restore-the-typcast-to-long.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/meta/recipes-bsp/grub/files/0001-RISC-V-Restore-the-typcast-to-long.patch b/meta/recipes-bsp/grub/files/0001-RISC-V-Restore-the-typcast-to-long.patch new file mode 100644 index 0000000000..cafa711731 --- /dev/null +++ b/meta/recipes-bsp/grub/files/0001-RISC-V-Restore-the-typcast-to-long.patch | |||
@@ -0,0 +1,37 @@ | |||
1 | From b47029e8e582d17c6874d2622fe1a5b834377dbb Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Fri, 26 Mar 2021 11:59:43 -0700 | ||
4 | Subject: [PATCH] RISC-V: Restore the typcast to 64bit type | ||
5 | |||
6 | this makes the type promotions clear and explicit | ||
7 | It was already typecasted to long but was accidentally dropped in [1] | ||
8 | which stated to cause failures on riscv32 as reported in [2] | ||
9 | |||
10 | [1] https://git.savannah.gnu.org/cgit/grub.git/commit/?id=2bf40e9e5be9808b17852e688eead87acff14420 | ||
11 | [2] https://savannah.gnu.org/bugs/index.php?60283 | ||
12 | |||
13 | Upstream-Status: Submitted | ||
14 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
15 | Cc: Andreas Schwab <schwab@suse.de> | ||
16 | Cc: Daniel Kiper <daniel.kiper@oracle.com> | ||
17 | Cc: Chester Lin <clin@suse.com> | ||
18 | Cc: Nikita Ermakov <arei@altlinux.org> | ||
19 | Cc: Alistair Francis <alistair.francis@wdc.com> | ||
20 | |||
21 | --- | ||
22 | util/grub-mkimagexx.c | 2 +- | ||
23 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
24 | |||
25 | diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c | ||
26 | index e50b295..2f09255 100644 | ||
27 | --- a/util/grub-mkimagexx.c | ||
28 | +++ b/util/grub-mkimagexx.c | ||
29 | @@ -1310,7 +1310,7 @@ SUFFIX (relocate_addrs) (Elf_Ehdr *e, struct section_metadata *smd, | ||
30 | */ | ||
31 | |||
32 | sym_addr += addend; | ||
33 | - off = sym_addr - target_section_addr - offset - image_target->vaddr_offset; | ||
34 | + off = (grub_int64_t)sym_addr - target_section_addr - offset - image_target->vaddr_offset; | ||
35 | |||
36 | switch (ELF_R_TYPE (info)) | ||
37 | { | ||