[U-Boot] [RFC] x86: Do no use reparm as it break libgcc linkage

Graeme Russ graeme.russ at gmail.com
Fri Nov 11 06:16:47 CET 2011


Hi Mike,

On Fri, Nov 11, 2011 at 4:04 PM, Mike Frysinger <vapier at gentoo.org> wrote:
> On Thursday 10 November 2011 23:49:07 Graeme Russ wrote:
>> Remember, U-Boot uses --no-builtin, so apart from the libgcc functions,
>> there are no gcc functions included.
>
> i don't think that's generally how gcc builtin's work.  for the vast majority,
> they're of the "optimize away with simple insns when possible" variety.  so if
> you do something like:
>        char c[4];
>        memset(c, 0, sizeof(c));
> gcc will optimize that into a single 32bit load rather than calling memcpy().
> but because we use -fno-builtins, gcc will make sure to call memcpy().

List of builtin functions not in libgcc:

http://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html

> i can't think of any calls off the top of my head which would result in
> invoking a func in libgcc.a.

Any function listed here:

http://gcc.gnu.org/onlinedocs/gccint/Libgcc.html

But we can discount any float/double routines, exception handling and
split stack which leaves just:

http://gcc.gnu.org/onlinedocs/gccint/Integer-library-routines.html

Regards,

Graeme


More information about the U-Boot mailing list