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

Russell King
2006-01-03T09:01:02Z

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.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core