On Wed, Jul 29, 2020 at 03:44:56PM -0400, 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").
It sounds like this is part of "-finline-functions was retuned" on <https://gcc.gnu.org/gcc-10/changes.html>? So everyone should see it (no matter what config or build system), and it is a good thing too :-) Thanks for the confirmation, Segher