Messages in this thread | | | Date | Wed, 10 Feb 2021 09:06:48 +0100 | From | Jessica Yu <> | 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@kernel.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
| |