Re: Cleanup possibility in asm-i386/string.h
From: Kyle Moffett
Date: Thu Feb 09 2006 - 19:59:06 EST
On Feb 09, 2006, at 19:23, Andi Kleen wrote:
On Friday 10 February 2006 01:05, Adrian Bunk wrote:
On Tue, Feb 07, 2006 at 01:39:50PM +0100, Roman Zippel wrote:
Hi,
On Tue, 7 Feb 2006, Andi Kleen wrote:
This means you define a prototype for the builtin function and
not for the normal function. I'm not sure this is really intended.
What good would be a prototype for a symbol that is defined to a
different symbol?
The point is you define a prototype for a builtin function, I'm
not sure that's a good thing to do. Actually I'd prefer to remove
-ffreestanding again, especially because it disables builtin
functions, which we have to painfully enable all again one by
one, instead of leaving it just to gcc.
I remember playing with using more gcc builtins in the kernel some
time ago, and some gcc builtin used a different library function,
which was a function the kernel did not supply.
It works fine on x86-64. If something is missing it can be also
supplied.
I don't remember exactly, but I think the problem was something like
this (even if not this exact case, it was similarly obscure): If -
ffreestanding was not specified, then the following code would
generate an implicit call to memcpy() or some other library function.
struct a {
[... large struct with lots of fields ...]
}
struct a first = { ..... };
[... more code ...];
struct a second = first; /* <== This line would generate implicit
memcpy */
Cheers,
Kyle Moffett
--
Diplomacy involves walking softly and _carrying_ a big stick.
Actually using the big stick means the diplomacy part failed.
-- Rob Landley
-
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/