Re: [PATCH] compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING

From: Masahiro Yamada
Date: Mon Mar 25 2019 - 02:11:19 EST


Hi Arnd,




On Wed, Mar 20, 2019 at 10:34 PM Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> On Wed, Mar 20, 2019 at 10:41 AM Arnd Bergmann <arnd@xxxxxxxx> wrote:
> >
> > I've added your patch to my randconfig test setup and will let you
> > know if I see anything noticeable. I'm currently testing clang-arm32,
> > clang-arm64 and gcc-x86.
>
> This is the only additional bug that has come up so far:
>
> `.exit.text' referenced in section `.alt.smp.init' of
> drivers/char/ipmi/ipmi_msghandler.o: defined in discarded section
> `exit.text' of drivers/char/ipmi/ipmi_msghandler.o
>
> diff --git a/arch/arm/kernel/atags.h b/arch/arm/kernel/atags.h
> index 201100226301..84b12e33104d 100644
> --- a/arch/arm/kernel/atags.h
> +++ b/arch/arm/kernel/atags.h
> @@ -5,7 +5,7 @@ void convert_to_tag_list(struct tag *tags);
> const struct machine_desc *setup_machine_tags(phys_addr_t __atags_pointer,
> unsigned int machine_nr);
> #else
> -static inline const struct machine_desc *
> +static __always_inline const struct machine_desc *
> setup_machine_tags(phys_addr_t __atags_pointer, unsigned int machine_nr)
> {
> early_print("no ATAGS support: can't continue\n");
>


I do not know why to reproduce it,
but is "__init __noreturn" more sensible than
"__always_inline" here?


--
Best Regards
Masahiro Yamada