Hello, ----- Original Message ----- > From: "Segher Boessenkool" <seg...@kernel.crashing.org> > To: "Vladis Dronov" <vdro...@redhat.com> > Cc: linuxppc-dev@lists.ozlabs.org, "Aneesh Kumar K . V" > <aneesh.ku...@linux.ibm.com>, linux-ker...@vger.kernel.org, > "Paul Mackerras" <pau...@samba.org> > Sent: Wednesday, July 29, 2020 4:49:49 PM > Subject: Re: [PATCH] powerpc: fix function annotations to avoid section > mismatch warnings with gcc-10 > > On Wed, Jul 29, 2020 at 03:37:41PM +0200, Vladis Dronov wrote: > > Certain warnings are emitted for powerpc code when building with a gcc-10 > > toolset: > > > > WARNING: modpost: vmlinux.o(.text.unlikely+0x377c): Section mismatch in > > reference from the function remove_pmd_table() to the function > > .meminit.text:split_kernel_mapping() > > The function remove_pmd_table() references > > the function __meminit split_kernel_mapping(). > > This is often because remove_pmd_table lacks a __meminit > > annotation or the annotation of split_kernel_mapping is wrong. > > > > Add the appropriate __init and __meminit annotations to make modpost not > > complain. In all the cases there are just a single callsite from another > > __init or __meminit function: > > > > __meminit remove_pagetable() -> remove_pud_table() -> remove_pmd_table() > > __init prom_init() -> setup_secure_guest() > > __init xive_spapr_init() -> xive_spapr_disabled() > > So what changed? These functions were inlined with older compilers, but > not anymore?
Yes, exactly. Gcc-10 does not inline them anymore. If this is because of my build system, this can happen to others also. The same thing was fixed by Linus in e99332e7b4cd ("gcc-10: mark more functions __init to avoid section mismatch warnings"). > > Segher Best regards, Vladis Dronov | Red Hat, Inc. | The Core Kernel | Senior Software Engineer