[U-Boot] [RFC PATCH] ARM: print gcc version

Peter Tyser ptyser at xes-inc.com
Tue Jan 18 17:20:20 CET 2011


> >> Anyway, I would found it a nice feature, at startup or when running the
> >> version command, but both aren't a must.
> >
> > I think it would be a really useful extension to the version command.
> > Looking forwad to seeing your patch.
> 
> Maybe if someone could feed me with what to use for the version. E.g. my 
> gcc here defines __VERSION__ as "4.5.2" but when I'm looking at
> u-boot/lib/asm-offsets.s I see
> 
> .ident  "GCC: (Gentoo 4.5.2 p1.0, pie-0.4.5) 4.5.2"
> 
> So I would like to display that which would be in line with the comment 
> section of generated binaries.
> 
> But when I use "gcc -E -dM empty.c" to print all predefined macros, I 
> don't see the text found in .ident. Not even something else which 
> includes "Gentoo".

I believe the output of "$(CC) --version" should contain the same data
as your .ident string.  You could echo it into a file like:
diff --git a/Makefile b/Makefile
index 0685ef9..e070d40 100644
--- a/Makefile
+++ b/Makefile
@@ -416,6 +416,8 @@ $(U_BOOT_ONENAND):  $(ONENAND_IPL) $(obj)u-boot.bin
 $(VERSION_FILE):
                @( printf '#define U_BOOT_VERSION "U-Boot %s%s"\n' "$(U_BOOT_VERSION)" \
                 '$(shell $(TOPDIR)/tools/setlocalversion $(TOPDIR))' ) > $@.tmp
+               @( printf '#define CC_VERSION_STRING "%s"\n' \
+                '$(shell $(CC) --version | head -1)' ) >> $@.tmp
                @cmp -s $@ $@.tmp && rm -f $@.tmp || mv -f $@.tmp $@
 
 $(TIMESTAMP_FILE):

Best,
Peter



More information about the U-Boot mailing list