Re: Build failure in -next due to 'sh: thin archives fix linking'

From: Nicholas Piggin
Date: Wed Jun 28 2017 - 08:59:02 EST


On Wed, 28 Jun 2017 05:38:50 -0700
Guenter Roeck <linux@xxxxxxxxxxxx> wrote:

> Hi,
>
> I see the following build error in -next when building sh:rts7751r2dplus_defconfig.
>
> sh4-linux-ld: arch/sh/kernel/vsyscall/vsyscall-dummy.o: compiled for a big endian system and target is little endian
> sh4-linux-ld: arch/sh/kernel/vsyscall/vsyscall-dummy.o: uses instructions which are incompatible with instructions used in previous modules
> sh4-linux-ld: failed to merge target specific data of file arch/sh/kernel/vsyscall/vsyscall-dummy.o
> make[2]: *** [arch/sh/kernel/vsyscall/vsyscall-syms.o] Error 1
>
> Bisect points to 'sh: thin archives fix linking' as the culprit. Bisect log is attached.
> I tried with gcc 4.8.3 and 6.3.0, both built with buildroot for sh4eb.

Thanks for the report. In arch/sh/kernel/vsyscall/Makefile, the line:

cmd_syscall_syms = $(LD) -r -o $@ -R $<

Can you try adding $(LDFLAGS), e.g. change it to:

cmd_syscall_syms = $(LD) $(LDFLAGS) -r -o $@ -R $<

Thanks,
Nick