Re: [PATCH v1 0/2] Introduce the initify gcc plugin

From: Joe Perches
Date: Tue Jun 28 2016 - 14:49:06 EST


On Tue, 2016-06-28 at 09:35 -0700, Joe Perches wrote:
> (adding Mathias Krause who did something similar via macros in 2014)
>
> https://lkml.org/lkml/2014/6/22/149
>
> On Tue, 2016-06-28 at 13:34 +0200, Emese Revfy wrote:
> >
> > I would like to introduce the initify gcc plugin. The kernel already
> > has
> > a mechanism to free up code and data memory that is only used during
> > kernel
> > or module initialization.
> > This plugin will teach the compiler to find more such code and data
> > that
> > can be freed after initialization. It reduces memory usage.
> > The initify gcc plugin can be useful for embedded systems.
> What happens to string deduplication when one string
> is in an init function and the same string is also used
> in a non-init function in the same compilation unit?
>
> foo.c
>
> __init void initfunc(void)
> {
> pr_info("%s: I'm here\n", __func__);
> }
>
> void runtimefunc(void)
> {
> pr_info("I'm here: %s\n", __func__);
> }
>
> In what section does the string "I'm here: %s\n" get placed
> or does it get placed into multiple sections?

Sorry, Joe can't type.
That was meant to be the identical string in both functions.