Re: Linux-2.6.13-rc7

From: Richard Henderson
Date: Thu Aug 25 2005 - 17:17:35 EST


On Thu, Aug 25, 2005 at 08:07:55PM +0100, Al Viro wrote:
> IMO that's a question to rth: why do we really need to block always_inline
> on alpha?

Because I use "extern inline" in the proper way. That is, I have both
inline and out-of-line versions of some routines. These routines have
their address taken to be put into the alpha_machine_vector structures,
so we're guaranteed that they'll be out-of-line at least once.

But if you define inline to always_inline, the compiler complains when
its forced to fall back to the out-of-line copy. And rightly so -- the
feature was INVENTED for using compiler intrinsics that would in fact
not produce valid assembly unless certain parameters are constants.

I've complained about this before. You always-inline savages have
obsconded with ALL THREE inline keywords -- "inline", "__inline" and
"__inline__" -- so there is in fact no way to accomplish what I want.

So in a fit of pique I've locally undone not just one, but all of the
always-inline crap.

All that said, something's wrong if we couldn't generate an out-of-line
copy of kmalloc. The entire block protected by __builtin_constant_p
should have been eliminated. File a gcc bugzilla report.


r~
-
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/