[Letux-kernel] 5.4-rc1 woes

H. Nikolaus Schaller hns at goldelico.com
Thu Oct 3 08:26:46 CEST 2019


> Am 02.10.2019 um 23:16 schrieb Andreas Kemnade <andreas at kemnade.info>:
> 
> On Wed, 2 Oct 2019 22:19:31 +0200
> Andreas Kemnade <andreas at kemnade.info> wrote:
> 
> [..]
>> # first bad commit: [ac7c3e4ff401b304489a031938dbeaab585bfe0a] compiler: enable CONFIG_OPTIMIZE_INLINING forcibly
>> 
>> hmmmm...
>> Now it depends on compliers?!
>> andi at aktux:~/gta04/gta04-autotest-kernel$ arm-linux-gnueabihf-gcc --version
>> arm-linux-gnueabihf-gcc (Debian 8.3.0-2) 8.3.0
>> Copyright (C) 2018 Free Software Foundation, Inc.
>> This is free software; see the source for copying conditions.  There is NO
>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>> 
>> And how to debug it? Well, lets first check whether reverting that
>> improves things on 5.4-rc1.
>> 
> ok, tested to revert it: I had to disable it in .config afterwards,
> seems to have crept into letux_defconfig.

Was automatically set if undefined...

git show f863a359c2b2 | fgrep CONFIG_OPTIMIZE_INLINING
-# CONFIG_OPTIMIZE_INLINING is not set
+CONFIG_OPTIMIZE_INLINING=y

> And so weird error messages.

Indeed.

> No bad addresses. I guess it somehow incfluences some copy_to_user
> stuff.
> Weird. So where to ask...?

fgrep OPTIMIZE_INLINING -R *
arch/arm/boot/src/FULLCONFIG:CONFIG_OPTIMIZE_INLINING=y
arch/arm/configs/letux_defconfig:CONFIG_OPTIMIZE_INLINING=y
arch/arm/configs/letux_defconfig.bak:CONFIG_OPTIMIZE_INLINING=y
arch/arm/configs/letux_lpae_defconfig:CONFIG_OPTIMIZE_INLINING=y
arch/arm/configs/letux_lpae_defconfig.bak:CONFIG_OPTIMIZE_INLINING=y
arch/arm/configs/omap3_beagle_defconfig:# CONFIG_OPTIMIZE_INLINING is not set
arch/mips/boot/src/CONFIG:# CONFIG_OPTIMIZE_INLINING is not set
arch/mips/boot/src/FULLCONFIG:CONFIG_OPTIMIZE_INLINING=y
arch/mips/configs/letux_defconfig:CONFIG_OPTIMIZE_INLINING=y
arch/sparc/vdso/vdso32/vclock_gettime.c:#undef	CONFIG_OPTIMIZE_INLINING
arch/x86/configs/i386_defconfig:CONFIG_OPTIMIZE_INLINING=y
arch/x86/configs/x86_64_defconfig:CONFIG_OPTIMIZE_INLINING=y
arch/x86/entry/vdso/vdso32/vclock_gettime.c:#undef CONFIG_OPTIMIZE_INLINING
include/linux/compiler_types.h:#if !defined(CONFIG_OPTIMIZE_INLINING)
kernel/configs/tiny.config:CONFIG_OPTIMIZE_INLINING=y
lib/Kconfig.debug:config OPTIMIZE_INLINING

So it is defined in lib/Kconfig.debug. Do we still have debugging enabled?

Only minimally:

fgrep DEBUG arch/arm/configs/letux_defconfig | fgrep -v '#'
CONFIG_DEBUG_FS=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"

It is used in only one place: include/linux/compiler-gcc.h

But why was it set automatically? Because the new patch forces it to be so...

> Weird.

Indeed.

> So where to ask...?

Author: Masahiro Yamada <yamada.masahiro at socionext.com>

    I am keeping the config option just in case any problem crops up for other
    architectures.

I have a similar thing with the CONFIG_GCC_PLUGINS which was turned on by default,
I think in 5.2 or 5.3:

http://git.goldelico.com/?p=letux-kernel.git;a=blobdiff;f=scripts/gcc-plugins/Kconfig;h=57f9e83057cc69c306c3715a459ce4b2ed9ec178;hp=d33de0b9f4f5f6268460136611756673373e905c;hb=3d1475e6e3c1679e44f6e3657b76ad67528ea972;hpb=2812467bf379ca82f4e8310a17e2fa8a559aee50

The nasty side-effect is that it requires the host-gcc to support a certain set
of gcc-plugin libraries which my cross-gcc is missing.

BR,
Nikolaus



More information about the Letux-kernel mailing list