aboutsummaryrefslogtreecommitdiff
path: root/bfd/coffcode.h
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/coffcode.h')
-rw-r--r--bfd/coffcode.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 0487555..a368ed1 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -2235,6 +2235,12 @@ coff_set_arch_mach_hook (bfd *abfd, void * filehdr)
machine = internal_f->f_flags & F_LOONGARCH64_ARCHITECTURE_MASK;
break;
#endif
+#ifdef RISCV64MAGIC
+ case RISCV64MAGIC:
+ arch = bfd_arch_riscv;
+ machine = bfd_mach_riscv64;
+ break;
+#endif
#ifdef Z80MAGIC
case Z80MAGIC:
arch = bfd_arch_z80;
@@ -2806,6 +2812,12 @@ coff_set_flags (bfd * abfd,
return true;
#endif
+#ifdef RISCV64MAGIC
+ case bfd_arch_riscv:
+ * magicp = RISCV64MAGIC;
+ return true;
+#endif
+
#ifdef ARMMAGIC
case bfd_arch_arm:
#ifdef ARM_WINCE
@@ -4002,7 +4014,7 @@ coff_write_object_contents (bfd * abfd)
internal_f.f_flags |= IMAGE_FILE_LARGE_ADDRESS_AWARE;
#endif
-#if !defined(COFF_WITH_pex64) && !defined(COFF_WITH_peAArch64) && !defined(COFF_WITH_peLoongArch64)
+#if !defined(COFF_WITH_pex64) && !defined(COFF_WITH_peAArch64) && !defined(COFF_WITH_peLoongArch64) && !defined (COFF_WITH_peRiscV64)
#ifdef COFF_WITH_PE
internal_f.f_flags |= IMAGE_FILE_32BIT_MACHINE;
#else
@@ -4061,6 +4073,11 @@ coff_write_object_contents (bfd * abfd)
internal_a.magic = ZMAGIC;
#endif
+#if defined(RISCV64)
+#define __A_MAGIC_SET__
+ internal_a.magic = ZMAGIC;
+#endif
+
#if defined MCORE_PE
#define __A_MAGIC_SET__
internal_a.magic = IMAGE_NT_OPTIONAL_HDR_MAGIC;