Re: GCC 3.4 and broken inlining.

Adrian Bunk
2004-07-09T22:18:09Z

On Fri, Jul 09, 2004 at 11:54:15PM +0200, Andi Kleen wrote:
> > Runtime errors caused with gcc 3.4 are IMHO much worse than such a small
> > improvement or three dozen compile errors with gcc 3.4 .
>
> What runtime errors?
>
> Actually requiring inlining is extremly rare and such functions should
> get that an explicit always inline just for documentation purposes.
> (another issue is not optimized away checks, but that shows at link time)

First of all, your proposed patch seems to be broken WRT gcc < 3.1 .

> In the x86-64 case it was vsyscalls, in Nigel's case it was swsusp.
> Both are quite exceptional in what they do.
>
> > Wouldn't it be a better solution if you would audit the existing inlines
> > in the kernel for abuse of inline and fix those instead?
>
> I don't see any point in going through ~1.2MLOC of code by hand
> when a compiler can do it for me.

How can a compiler decide whether an "inline" was for a possible small
speed benefit or whether it's required for correct working?

And I'm not that happy with the fact that gcc 3.3 and gcc 3.4 will
produce significantly different code for the same file. Besides from the
3 dozen compile errors I'm currently sorting out, gcc 3.3 and 3.4 should
behave similar with __attribute__((always_inline)).

> -Andi

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed