Re: [PATCH] wireless: iwlegacy: make const array static to shink object code size Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit

From: Joe Perches
Date: Fri Sep 22 2017 - 06:03:18 EST


On Fri, 2017-09-22 at 09:23 +0200, Julia Lawall wrote:
>
> On Thu, 21 Sep 2017, Colin King wrote:
>
> > From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> >
> > Don't populate const array ac_to_fifo on the stack in an inlined
> > function, instead make it static. Makes the object code smaller
> > by over 800 bytes:
> >
> > text data bss dec hex filename
> > 159029 33154 1216 193399 2f377 4965-mac.o
> >
> > text data bss dec hex filename
> > 158122 33250 1216 192588 2f04c 4965-mac.o
> >
> > (gcc version 7.2.0 x86_64)
>
> Gcc 7 must be much more aggressive about inlining than gcc 4. Here is the
> change that I got on this file:
>
> text data bss dec hex filename
> - 76346 1494 152 77992 130a8 drivers/net/wireless/intel/iwlegacy/4965-mac.o
> + 76298 1494 152 77944 13078 drivers/net/wireless/intel/iwlegacy/4965-mac.o
> decrease of 48

More likely different CONFIG options.

e.g. allyesconfig vs defconfig with wireless