[PATCH] Fix build for openrisc with uClibc

Baruch Siach baruch at tkos.co.il
Tue Apr 3 17:10:14 UTC 2018


uClibc defines EM_OR1K instead of EM_OPENRISC for the OpenRISC ELF
e_machine ID. Use EM_OR1K when EM_OPENRISC is not defined.

This fixes the following build failure:

In file included from nlist.c:44:0:
nlist.c: In function ‘__elf_is_okay__’:
local-elf.h:224:23: error: ‘EM_OPENRISC’ undeclared (first use in this function)
 #define ELF_TARG_MACH EM_OPENRISC
                       ^
nlist.c:77:26: note: in expansion of macro ‘ELF_TARG_MACH’
   if (ehdr->e_machine == ELF_TARG_MACH &&
                          ^
---
 src/local-elf.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/local-elf.h b/src/local-elf.h
index 1faf182f87d7..79f7d026f6c9 100644
--- a/src/local-elf.h
+++ b/src/local-elf.h
@@ -221,7 +221,11 @@
 
 #elif defined(__or1k__)
 
+#if defined(EM_OPENRISC)
 #define ELF_TARG_MACH	EM_OPENRISC
+#else
+#define ELF_TARG_MACH	EM_OR1K
+#endif
 #define ELF_TARG_CLASS	ELFCLASS32
 #define ELF_TARG_DATA	ELFDATA2MSB
 
-- 
2.16.2



More information about the libbsd mailing list