Re: [GIT PULL] kbuild changes for v4.9-rc1

From: Kalle Valo
Date: Thu Oct 27 2016 - 10:09:59 EST


(Adding Thorsten because of a serious regression and Steven because he
tried to fix something in the same commit)

Nicholas Piggin <npiggin@xxxxxxxxx> writes:

> On Wed, 19 Oct 2016 16:38:14 +0200
> Michal Marek <mmarek@xxxxxxxx> wrote:
>
>> Dne 18.10.2016 v 03:34 Nicholas Piggin napsal(a):
>> > We should probably just bring all these arch patches through the
>> > kbuild tree.
>> >
>> > I'm sorry for the breakage: I didn't realize it broke the build with
>> > some configs, otherwise I would have given Michal a heads up before
>> > his pull request, and worked to get this stuff in first.
>>
>> It breaks with some binutils versions only (and only with
>> CONFIG_MODVERSIONS=y, of course).
>
> Yeah this seems to be the issue, it apparently slipped past all the
> automated builds. It seems like the existing CRC warnings in the tree
> only trigger in rare circumstances too, so something could be a bit
> fragile there.

I upgraded from 4.8 to 4.9-rc2 and noticed that kernel modules fail to
load (log below). After investigating for some time I found this thread
and apparently this is not still fixed, at least not in Linus' tree.

Reverting 784d5699eddc5 fixed the issue for me. As I don't see any fix
available (please correct me if I'm wrong) we should just revert that
commit until it's properly fixed.

Also note that there's a related fix from Steven:

[PATCH] x86: Fix export for mcount and __fentry__
https://marc.info/?l=linux-kernel&m=147733572502413

For compiling the kernel I'm using Ubuntu 12.04:

ii binutils 2.22-6ubuntu1.4 GNU assembler, linker and binary utilities
ii gcc 4:4.6.3-1ubuntu5 GNU C compiler

The kernel is running on a separate machine with Ubuntu 14.04.

[ 110.703414] bluetooth: disagrees about version of symbol __get_user_2
[ 110.703416] bluetooth: Unknown symbol __get_user_2 (err -22)
[ 110.703429] bluetooth: disagrees about version of symbol __put_user_2
[ 110.703430] bluetooth: Unknown symbol __put_user_2 (err -22)
[ 110.703579] bluetooth: disagrees about version of symbol __put_user_4
[ 110.703580] bluetooth: Unknown symbol __put_user_4 (err -22)
[ 110.703669] bluetooth: disagrees about version of symbol __put_user_1
[ 110.703670] bluetooth: Unknown symbol __put_user_1 (err -22)
[ 110.703688] bluetooth: disagrees about version of symbol mcount
[ 110.703689] bluetooth: Unknown symbol mcount (err -22)

--
Kalle Valo