Re: [08/08] uml: va_copy fix

From: Renate Meijer
Date: Wed Apr 06 2005 - 07:10:14 EST



On Apr 6, 2005, at 1:32 PM, Jörn Engel wrote:

On Tue, 5 April 2005 22:18:26 +0200, Renate Meijer wrote:

If a function is prefixed with a double underscore, this implies the
function is internal to
the compiler, and may change at any time, since it's not governed by
some sort of standard.
Hence that code may start suffering from bitrot and complaining to the
compiler guys won't help.

You did read include/linux/compiler.h, didn't you?

Yes. It seems a good place to hide compiler-internal stuff as the one this patch
implements. And I know linux does not exactly have a great track record
on this issue. But just because the dependency is there, does not imply it is a
GOOD THING to have it.

So instead of applying this patch, simply

#ifdef VERSION_MINOR < WHATEVER
#define va_copy __va_copy
#endif

in include/linux/compiler_gcc2.h

Thus solving the problem without having to invade compiler namespace all
over the place, but doing so in *one* place only.

And you did read this thread as well, right?
http://kerneltrap.org/node/4126

<quote>
Things seem to have improved a bit lately. The gcc-3.x series was
basically not worth it for plain C until 3.3 or so.
</quote>

Yes. You did read the actual data as produced by that guy from Suse, did you? In the past,
people may have justly stuck to (e.g.) 2.95.3, however, support for that version now starts to
require dependencies on compiler internals. This is one argument in favor of dropping support
for that version, or at least not to spread compiler dependent stuff all over the code.


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