Re: [PATCH v2] next: openrisc: Fix build

From: Guenter Roeck
Date: Fri Sep 26 2014 - 14:06:58 EST


On Fri, Sep 26, 2014 at 07:51:49PM +0200, Jonas Bonn wrote:
> On 09/26/2014 06:05 PM, Guenter Roeck wrote:
> > 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 <eparis@xxxxxxxxxx>
> > Cc: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx>
> > Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> > Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> > Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> > ---
> > 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/