[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YCOUGGJtUJ+Nf0ZA@gunter>
Date: Wed, 10 Feb 2021 09:06:48 +0100
From: Jessica Yu <jeyu@...nel.org>
To: Stephen Rothwell <sfr@...b.auug.org.au>
Cc: Christoph Hellwig <hch@....de>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux Next Mailing List <linux-next@...r.kernel.org>,
Michael Ellerman <mpe@...erman.id.au>,
Masahiro Yamada <masahiroy@...nel.org>
Subject: Re: linux-next: build failure after merge of the modules tree
+++ Stephen Rothwell [10/02/21 08:50 +1100]:
>Hi Jessica,
>
>On Tue, 9 Feb 2021 16:16:20 +0100 Jessica Yu <jeyu@...nel.org> wrote:
>>
>> Hmm, these errors don't look like it's related to that particular commit. I was
>
>I found this commit by bisection and then tested by reverting it.
>
>Before this commit, CONFIG_TRIM_UNUSED_KSYMS would not be set in the
>allyesconfig build because CONFIG_UNUSED_SYMBOLS was set. After this
>commit, CONFIG_TRIM_UNUSED_KSYMS will be set in the allyesconfig build.
Ah, that makes sense then. I would get the error on powerpc whenever
CONFIG_TRIM_UNUSED_KSYMS was enabled.
>> able to reproduce these weird autoksym errors even without any modules-next
>> patches applied, and on a clean v5.11-rc7 tree. To reproduce it,
>> CONFIG_TRIM_UNUSED_KSYMS needs to be enabled. I guess that's why we run into
>> these errors with allyesconfig. I used a gcc-7 ppc64le cross compiler and got
>> the same compiler warnings. It seems to not compile on powerpc properly because
>> it looks like some symbols have an extra dot "." prefix, for example in
>> kthread.o:
>>
>> 168: 0000000000000318 24 NOTYPE GLOBAL DEFAULT 6 kthread_create_worker
>> 169: 0000000000001d90 104 FUNC GLOBAL DEFAULT 1 .kthread_create_worker
>> 170: 0000000000000330 24 NOTYPE GLOBAL DEFAULT 6 kthread_create_worker_on_cpu
>> 171: 0000000000001e00 88 FUNC GLOBAL DEFAULT 1 .kthread_create_worker_on_cpu
>> 172: 0000000000000348 24 NOTYPE GLOBAL DEFAULT 6 kthread_queue_work
>> 173: 0000000000001e60 228 FUNC GLOBAL DEFAULT 1 .kthread_queue_work
>>
>> So I suppose this dot prefix is specific to powerpc. From the ppc64 elf abi docs:
>>
>> Symbol names with a dot (.) prefix are reserved for holding entry point
>> addresses. The value of a symbol named ".FN", if it exists, is the entry point
>> of the function "FN".
>>
>> I guess the presence of the extra dot symbols is confusing
>> scripts/gen_autoksyms.sh, so we get the dot symbols in autoksyms.h, which the
>> preprocessor doesn't like. I am wondering how this was never caught until now
>> and also now curious if this feature was ever functional on powerpc..
>
>Which feature?
Sorry, by "feature" I meant CONFIG_TRIM_UNUSED_KSYMS. This config
option was introduced around v4.7. If simply enabling it produces
these compilation errors I was wondering if it ever built properly on
powerpc.
Thanks,
Jessica
Powered by blists - more mailing lists