diff mbox series

[v9,79/84] linux-user: Add support for nanoMIPS core files

Message ID 1534431497-1385-80-git-send-email-aleksandar.markovic@rt-rk.com
State New
Headers show
Series Add nanoMIPS support to QEMU | expand

Commit Message

Aleksandar Markovic Aug. 16, 2018, 2:58 p.m. UTC
From: Aleksandar Rikalo <arikalo@wavecomp.com>

nanoMIPs core files require value EF_NANOMIPS_ABI_P32 to be passed
to the e_flags part of the core's elf header.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
Signed-off-by: Stefan Markovic <smarkovic@wavecomp.com>
---
 linux-user/elfload.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 8638612..366ef3b 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1291,6 +1291,10 @@  static inline void init_thread(struct target_pt_regs *regs,
 #define ELF_CLASS ELFCLASS64
 #endif
 
+#ifdef TARGET_ABI_MIPSP32
+#define ELF_FLAGS EF_NANOMIPS_ABI_P32
+#endif
+
 static inline void init_thread(struct target_pt_regs *regs,
                                struct image_info *infop)
 {
@@ -1400,6 +1404,10 @@  static void elf_core_copy_regs(target_elf_gregset_t *regs,
 #define ELF_HWCAP 0
 #endif
 
+#ifndef ELF_FLAGS
+#define ELF_FLAGS 0
+#endif
+
 #ifndef STACK_GROWS_DOWN
 #define STACK_GROWS_DOWN 1
 #endif
@@ -3432,7 +3440,7 @@  static int elf_core_dump(int signr, const CPUArchState *env)
      * Construct valid coredump ELF header.  We also
      * add one more segment for notes.
      */
-    fill_elf_header(&elf, segs + 1, ELF_MACHINE, 0);
+    fill_elf_header(&elf, segs + 1, ELF_MACHINE, ELF_FLAGS);
     if (dump_write(fd, &elf, sizeof (elf)) != 0)
         goto out;