Re: [PATCH v2] next: openrisc: Fix build
From: Guenter Roeck <hidden>
Date: 2014-09-26 18:06:55
Also in:
linux-next, lkml
On Fri, Sep 26, 2014 at 07:51:49PM +0200, Jonas Bonn wrote:
On 09/26/2014 06:05 PM, Guenter Roeck wrote:quoted
openrisc:defconfig fails to build in next-20140926 with the following error. In file included from arch/openrisc/kernel/signal.c:31:0: ./arch/openrisc/include/asm/syscall.h: In function 'syscall_get_arch': ./arch/openrisc/include/asm/syscall.h:77:9: error: 'EM_OPENRISC' undeclared Fix by moving EM_OPENRISC to include/uapi/linux/elf-em.h. Fixes: ce5d112827e5 ("ARCH: AUDIT: implement syscall_get_arch for all arches") Cc: Eric Paris <redacted> Cc: Stefan Kristiansson <redacted> Cc: Geert Uytterhoeven <redacted> Cc: Stephen Rothwell <redacted> Signed-off-by: Guenter Roeck <redacted> --- v2: Only move EM_OPENRISC. Another possible solution for the problem would be to include asm/elf.h in arch/openrisc/kernel/signal.c. I had actually submitted a patch with that fix back in August (maybe that is where I remembered the problem from). Wonder what happened with that patch. Would it make sense to drop EM_OR32 and replace it with EM_OPENRISC where it is used ? binutils seems to suggest that EM_OPENRISC is the "official" definition.Do we even use EM_OR32? Will the kernel build with the old toolchain if we drop it? If yes, drop it altogether... I don't recall the details as to why we kept that define around at all. And really, why bother supporting the old toolchain at all... it's been at least two or three years since EM_OPENRISC was added, hopefully people have moved on. If users want to upgrade their kernel, they can update the toolchain, too, at this point.
EM_OR32 is used to define ELF_ARCH, which per its comment is used in core dumps. No idea if that is important/relevant. You tell me ;-). The kernel builds with both the old (or32) and new (or1k) toolchain after removing EM_OR32 and defining ELF_ARCH as EM_OPENRISC. I can not test the kernel built with the or32 toolchain, but qemu is happy with the image built using the or1k toolchain. I'll be happy to submit a patch to remove EM_OR32 if it is not needed anymore. Thanks, Guenter