diff --git a/Makefile b/Makefile index 5f9364699..e17d821c7 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 7d1b495c5..83cb11c6f 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", "" );