Subject: Re: `-ffreestanding'
To: None <Richard.Earnshaw@arm.com>
From: Jason R Thorpe <thorpej@zembu.com>
List: tech-kern
Date: 07/16/2001 08:49:00
On Mon, Jul 16, 2001 at 11:15:56AM +0100, Richard Earnshaw wrote:
> Printf isn't a builtin (at least, not in that sense). So adding -fbuiltin
> will not re-enable the format warning checker.
We actually want the printf format checker, but we don't want it to
emit calls to puts() when it sees printf with nothing but a string
constant.
> Another alternative is to have a header file (say k-builtin.h) which
> #defines the things we want builtin to their __builtin_foo equivalents.
> This would then provide the functionality we require.
>
> Eg
>
> #define memcpy(x,y,z) __builtin_memcpy(x,y,z)
So, how does this work in GCC? If you expressly use a __builtin_*() version
of a function, will it still emit a call to e.g. memcpy() if it can't emit
an inline optimized block move?
--
-- Jason R. Thorpe <thorpej@zembu.com>