From a18513c92ce8c85457ac51a8adaf088a992f7e66 Mon Sep 17 00:00:00 2001 From: Kuan-Lin Chen Date: Tue, 17 Jan 2017 09:46:28 +0800 Subject: [PATCH] Hook elf_backend_object_p to set the mach type. --- bfd/elfnn-riscv.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c index f414429..320d318 100644 --- a/bfd/elfnn-riscv.c +++ b/bfd/elfnn-riscv.c @@ -3191,6 +3191,19 @@ riscv_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return TRUE; } +/* Set the right mach type. */ +static bfd_boolean +riscv_elf_object_p (bfd *abfd) +{ + /* There are only two mach types in RISCV currently. */ + if (strcmp (abfd->xvec->name, "elf32-littleriscv") == 0) + bfd_default_set_arch_mach (abfd, bfd_arch_riscv, bfd_mach_riscv32); + else + bfd_default_set_arch_mach (abfd, bfd_arch_riscv, bfd_mach_riscv64); + + return TRUE; +} + #define TARGET_LITTLE_SYM riscv_elfNN_vec #define TARGET_LITTLE_NAME "elfNN-littleriscv" @@ -3216,6 +3229,7 @@ riscv_elf_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) #define elf_backend_plt_sym_val riscv_elf_plt_sym_val #define elf_backend_grok_prstatus riscv_elf_grok_prstatus #define elf_backend_grok_psinfo riscv_elf_grok_psinfo +#define elf_backend_object_p riscv_elf_object_p #define elf_info_to_howto_rel NULL #define elf_info_to_howto riscv_info_to_howto_rela #define bfd_elfNN_bfd_relax_section _bfd_riscv_relax_section -- 2.6.4