On 06/28/2017 05:58 AM, Nicholas Piggin wrote:
On Wed, 28 Jun 2017 05:38:50 -0700
Guenter Roeck <[email protected]> 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 $<
That fixes the problem (including the missing symbols seen after reverting the
offending patch).
Thanks,
Guenter