Re: [patch 00/2] improve .text size on gcc 4.0 and newer compilers

From: Arjan van de Ven
Date: Tue Jan 03 2006 - 04:12:57 EST


On Tue, 2006-01-03 at 09:00 +0000, Russell King wrote:
> On Tue, Jan 03, 2006 at 09:56:26AM +0100, Arjan van de Ven wrote:
> > On Tue, 2006-01-03 at 08:53 +0000, Russell King wrote:
> > > On Mon, Jan 02, 2006 at 10:59:04PM -0500, Daniel Jacobowitz wrote:
> > > > On Mon, Jan 02, 2006 at 10:23:35PM +0000, Russell King wrote:
> > > > > static void fn1(void *f)
> > > > > {
> > > > > }
> > > > >
> > > > > void fn2(void *f)
> > > > > {
> > > > > fn1(f);
> > > > > }
> > > > >
> > > > > on ARM produces:
> > > >
> > > > On 3.4, 4.0, and 4.1 you only need -O for this (I just checked both x86
> > > > and ARM compilers). I believe this came in with unit-at-a-time, as
> > > > Arjan said - which was GCC 3.4.
> > >
> > > Well, as demonstrated, it doesn't work with gcc 3.3. Since we aren't
> > > about to increase the minimum gcc version to 3.4, this isn't acceptable.
> >
> > s/isn't acceptable/is suboptimal/
>
> No - it's a case of going overboard with this inline removal idea.
> If we would prefer a function to be inlined because it is only used
> once, we should specify it as such rather than relying on some quirky
> idea that it _might_ do the right thing if we don't specify it

so for those gcc's one passes -finline-functions ....
(or -finline-functions-called-once if it's supported, which newer gccs
have again :)


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/