From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Holler Date: Tue, 18 Jan 2011 18:04:54 +0100 Subject: [U-Boot] [RFC PATCH] ARM: print gcc version In-Reply-To: <1295367620.29642.10984.camel@petert> References: <1292863117-3175-1-git-send-email-holler@ahsoftware.de> <20110109210300.B2CD3127@gemini.denx.de> <4D2BB9AC.1040504@ahsoftware.de> <20110117222838.66B74D1CAD5@gemini.denx.de> <4D355A5D.4070804@ahsoftware.de> <1295367620.29642.10984.camel@petert> Message-ID: <4D35C836.3020400@ahsoftware.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Am 18.01.2011 17:20, schrieb Peter Tyser: >>>> 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): That would the trick. The first line of gcc --version includes here the correct string. Thanks. (Btw. I would use head -n 1) But I will wait for a comment from one of the maintainers about defining CC_VERSION_STRING. If someone gives me an ok, I will write a patch including your suggestion and will print that version in the command version. Regards, Alexander