Commit b480b7a3f81cf49b9f3f0f8cdd20b33999aa7530

James Cowgill 2017-06-19T21:38:40

Fix ELF definitions for MIPS in local-elf.h Add a check for _MIPS_SIM inside the __mips__ #elif to detect mips64el and use ELFCLASS64 in that case. Note that we can't use defined(__mips64) here because that is also defined when the n32 ABI is in use, which uses ELFCLASS32. Fixes: https://bugs.debian.org/865091 Signed-off-by: Guillem Jover <guillem@hadrons.org>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
diff --git a/src/local-elf.h b/src/local-elf.h
index 3abbe70..1faf182 100644
--- a/src/local-elf.h
+++ b/src/local-elf.h
@@ -127,7 +127,11 @@
 #elif defined(__mips__)
 
 #define ELF_TARG_MACH	EM_MIPS
+#if defined(_ABI64) && _MIPS_SIM == _ABI64
+#define ELF_TARG_CLASS	ELFCLASS64
+#else
 #define ELF_TARG_CLASS	ELFCLASS32
+#endif
 #if defined(__MIPSEB__)
 #define ELF_TARG_DATA	ELFDATA2MSB
 #else