All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jessica Yu <jeyu@kernel.org>
To: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Christoph Hellwig <hch@lst.de>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Next Mailing List <linux-next@vger.kernel.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Masahiro Yamada <masahiroy@kernel.org>
Subject: Re: linux-next: build failure after merge of the modules tree
Date: Tue, 9 Feb 2021 16:16:20 +0100	[thread overview]
Message-ID: <YCKnRPRTDyfGxnBC@gunter> (raw)
In-Reply-To: <20210209210843.3af66662@canb.auug.org.au>

+++ Stephen Rothwell [09/02/21 21:08 +1100]:
>Hi all,
>
>After merging the modules tree, today's linux-next build (powerpc
>allyesconfig) failed like this:
>
>In file included from include/linux/export.h:123,
>                 from include/linux/linkage.h:7,
>                 from arch/powerpc/include/asm/unistd.h:18,
>                 from <stdin>:2:
>./include/generated/autoksyms.h:5:9: warning: missing whitespace after the macro name
>    5 | #define __KSYM_.HT_update_self_and_peer_setting 1
>      |         ^~~~~~~
>./include/generated/autoksyms.h:6:9: warning: missing whitespace after the macro name
>    6 | #define __KSYM_.RemovePeerTS 1
>      |         ^~~~~~~
>./include/generated/autoksyms.h:6: warning: "__KSYM_" redefined
>    6 | #define __KSYM_.RemovePeerTS 1
>      |
>./include/generated/autoksyms.h:5: note: this is the location of the previous definition
>
>and on and on :-(
>
>Caused by commit
>
>  367948220fce ("module: remove EXPORT_UNUSED_SYMBOL*")
>
>I have reverted that commit for today.

[ Adding Michael and Masahiro to CC ]

Hi Stephen,

Hmm, these errors don't look like it's related to that particular commit. I was
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..

Thanks,

Jessica

  reply	other threads:[~2021-02-09 15:17 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-09 10:08 linux-next: build failure after merge of the modules tree Stephen Rothwell
2021-02-09 15:16 ` Jessica Yu [this message]
2021-02-09 16:06   ` Christoph Hellwig
2021-02-09 21:50   ` Stephen Rothwell
2021-02-10  8:06     ` Jessica Yu
2021-02-10  8:37       ` Masahiro Yamada
2021-02-11  6:19         ` Masahiro Yamada
2021-02-10 12:21       ` Stephen Rothwell
2021-02-10 16:16         ` Jessica Yu
  -- strict thread matches above, loose matches on Subject: below --
2024-02-02  1:03 Stephen Rothwell
2022-11-14  0:13 Stephen Rothwell
2022-11-14  8:01 ` Jiri Olsa
2022-11-14  9:08   ` Leizhen (ThunderTown)
2022-02-21 16:07 broonie
2022-02-23  0:32 ` Luis Chamberlain
2022-02-28  5:13   ` Stephen Rothwell
2022-02-28 18:16     ` Luis Chamberlain
2019-06-25  4:27 Stephen Rothwell
2015-12-01 20:23 Mark Brown
2015-12-02  3:23 ` Rusty Russell
2015-11-27  1:26 Stephen Rothwell
2015-11-27  2:57 ` Rusty Russell
2015-06-25  6:54 Stephen Rothwell
2015-06-25  9:51 ` Dan Streetman
2015-06-24  1:37 Stephen Rothwell
2015-06-24 18:18 ` Dan Streetman
2015-06-24 22:57   ` Stephen Rothwell
2015-06-25  1:50     ` Stephen Rothwell
2014-12-18  2:05 Stephen Rothwell
2014-08-07  3:20 Stephen Rothwell
2014-08-07 11:37 ` Rusty Russell
2014-08-07 13:03   ` Stephen Rothwell
2014-08-07 13:07     ` Rusty Russell
2014-08-08  1:33       ` Stephen Rothwell
2014-07-28  3:58 Stephen Rothwell
2014-07-28 11:38 ` Rusty Russell
2014-03-25  3:02 Stephen Rothwell
2014-03-31  3:45 ` Rusty Russell
2012-11-26  4:10 Stephen Rothwell
2012-11-28 11:02 ` Stanislaw Gruszka
2012-12-03  0:29   ` Rusty Russell
2012-11-02  1:57 Stephen Rothwell
2012-11-02  3:16 ` Rusty Russell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YCKnRPRTDyfGxnBC@gunter \
    --to=jeyu@kernel.org \
    --cc=hch@lst.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=mpe@ellerman.id.au \
    --cc=sfr@canb.auug.org.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.