From 6c7571d6e05335584eab6265c6bab30aabebf9d7 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 23 Dec 2023 18:13:53 +0100 Subject: elf2flt: add missing h8300 patch --- toolchain/elf2flt/patches/v2023.09/0003-h8300.patch | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 toolchain/elf2flt/patches/v2023.09/0003-h8300.patch diff --git a/toolchain/elf2flt/patches/v2023.09/0003-h8300.patch b/toolchain/elf2flt/patches/v2023.09/0003-h8300.patch new file mode 100644 index 000000000..2c7b73482 --- /dev/null +++ b/toolchain/elf2flt/patches/v2023.09/0003-h8300.patch @@ -0,0 +1,20 @@ +diff -Nur elf2flt-v2023.09.orig/flthdr.c elf2flt-v2023.09/flthdr.c +--- elf2flt-v2023.09.orig/flthdr.c 2023-12-23 03:20:20.000000000 +0100 ++++ elf2flt-v2023.09/flthdr.c 2023-12-23 17:11:22.699413170 +0100 +@@ -164,8 +164,16 @@ + r = ntohl(relocs[i]); + raddr = flat_get_relocate_addr(r); + printf(" %u\t0x%08lx (0x%08"PRIx32")\t", i, r, raddr); ++#if defined(TARGET_h8300) ++ raddr &= ~0x00000001; ++#endif + fseek_stream(&ifp, sizeof(old_hdr) + raddr, SEEK_SET); + fread_stream(&addr, sizeof(addr), 1, &ifp); ++#if defined(TARGET_h8300) ++ addr = ntohl(addr); ++ if (r & 1) ++ addr &= 0x00ffffff; ++#endif + printf("%"PRIx32"\n", addr); + } + -- cgit v1.2.3