On Tue, 16 Aug 2011, Sriraman Tallam wrote:

> Index: libgcc/config/i386/t-cpuinfo
> ===================================================================
> --- libgcc/config/i386/t-cpuinfo      (revision 0)
> +++ libgcc/config/i386/t-cpuinfo      (revision 0)
> @@ -0,0 +1,2 @@
> +# This is an endfile
> +LIB2ADD += $(srcdir)/config/i386/i386-cpuinfo.c

What do you mean by this comment?  That it's linked in like crt*end*.o?  
It looks to me like a normal libgcc object, not an endfile.

> Index: libgcc/config/i386/i386-cpuinfo.c
> ===================================================================
> --- libgcc/config/i386/i386-cpuinfo.c (revision 0)
> +++ libgcc/config/i386/i386-cpuinfo.c (revision 0)
> @@ -0,0 +1,275 @@
> +/* Copyright (C) 2011 Free Software Foundation, Inc.
> + * Contributed by Sriraman Tallam <tmsri...@google.com>.

Please format in the normal way; no leading "*" on each comment line.

> +#include <string.h>

Don't include headers not provided by GCC in libgcc without checking 
inhibit_libc, to avoid bootstrap problems.  Declaring just the functions 
you need is safer here than including a system header.

> +#ifdef __GNUC__

Such a conditional does not make sense in libgcc code.

> +/* This function will be linked in to binaries that need to look up
> +   CPU information.  */
> +
> +void
> +__cpu_indicator_init(void)

Format according to the GNU Coding Standards.

You appear not to have added any symbol versions; do you have a particular 
rationale for these functions being linked separately into each executable 
and shared library needing them, rather than being exported from the 
shared libgcc?

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to