Re: [PATCH] x86/platform/intel-mid: make several arrays static, makes code smaller

From: Andy Shevchenko
Date: Fri Aug 25 2017 - 13:59:59 EST


On Fri, 2017-08-25 at 19:51 +0200, Lukas Wunner wrote:
> On Fri, Aug 25, 2017 at 05:32:06PM +0100, Colin King wrote:
> > --- a/arch/x86/platform/intel-mid/pwr.c
> > +++ b/arch/x86/platform/intel-mid/pwr.c
> > @@ -444,7 +444,7 @@ static int mid_set_initial_state(struct mid_pwr
> > *pwr, const u32 *states)
> > Âstatic int pnw_set_initial_state(struct mid_pwr *pwr)
> > Â{
> > Â /* On Penwell SRAM must stay powered on */
> > - const u32 states[] = {
> > + static const u32 states[] = {
> > Â 0xf00fffff, /* PM_SSC(0) */
> > Â 0xffffffff, /* PM_SSC(1) */
> > Â 0xffffffff, /* PM_SSC(2) */
>
> That's a known gcc bug:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68725
>
> There are hundreds of constant compound literals that are generated
> on the stack rather than stored in rodata, do you intend to file
> patches for all of them?ÂÂAdding static everywhere is just a
> workaround that bloats the code.ÂÂFixing the root cause in gcc would
> make more sense.

That is a good point.

--
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy