From 89ffa8dbb5bd0552f5f3399f4430a4c97f4d50d4 Mon Sep 17 00:00:00 2001 From: Alexander Holler Date: Wed, 19 Jan 2011 00:24:40 +0100 Subject: [PATCH] Print compiler and linker version with the version command After years of unsuccessful research I've finally shamelessly stolen other peoples intellectual properties to present the all-new and world-changing updated version command: - U-Boot>> version U-Boot 2010.12-00014-g7435056-dirty (Jan 18 2011 - 23:19:38) MyBoard gcc (GCC) 0.42 (Distro foobar) GNU ld (GNU Binutils) 0.314159265 - May the toolchain bugs rest in peace. Signed-off-by: Alexander Holler --- Makefile | 4 ++++ common/cmd_version.c | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 5f93646..e17d821 100644 --- a/Makefile +++ b/Makefile @@ -416,6 +416,10 @@ $(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 -n 1)' )>> $@.tmp + @( printf '#define LD_VERSION_STRING "%s"\n' \ + '$(shell $(LD) -v | head -n 1)' )>> $@.tmp @cmp -s $@ $@.tmp && rm -f $@.tmp || mv -f $@.tmp $@ $(TIMESTAMP_FILE): diff --git a/common/cmd_version.c b/common/cmd_version.c index 7d1b495..83cb11c 100644 --- a/common/cmd_version.c +++ b/common/cmd_version.c @@ -23,18 +23,25 @@ #include #include +#include extern char version_string[]; int do_version(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { printf("\n%s\n", version_string); +#ifdef CC_VERSION_STRING + puts(CC_VERSION_STRING "\n"); +#endif +#ifdef LD_VERSION_STRING + puts(LD_VERSION_STRING "\n"); +#endif return 0; } U_BOOT_CMD( version, 1, 1, do_version, - "print monitor version", + "print monitor, compiler and linker version", "" );