On Fri, Sep 07, 2012 at 11:35:52AM +0200, Sascha Hauer wrote: > The call if_changed mechanism does not work when the command > contains backslashes. This basically is an issue with lzo > and bzip2 compressed kernels. The compressed binaries do not > contain the uncompressed image size, so these use size_append > to append the size. This results in backslashes in the executed > command. With this if_changed always detects a change in the > command and rebuilds the compressed image even if nothing > has changed. > > Fix this by escaping backslashes in make-cmd > > Signed-off-by: Sascha Hauer <[email protected]>
This was found and fixed together with Jan Lübbe, so I should not forget his credits: Signed-off-by: Jan Luebbe <[email protected]> Sascha > --- > scripts/Kbuild.include | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include > index 6a3ee98..afa4459 100644 > --- a/scripts/Kbuild.include > +++ b/scripts/Kbuild.include > @@ -209,7 +209,7 @@ endif > # >$< substitution to preserve $ when reloading .cmd file > # note: when using inline perl scripts [perl -e '...$$t=1;...'] > # in $(cmd_xxx) double $$ your perl vars > -make-cmd = $(subst \#,\\\#,$(subst $$,$$$$,$(call escsq,$(cmd_$(1))))) > +make-cmd = $(subst \\,\\\\,$(subst \#,\\\#,$(subst $$,$$$$,$(call > escsq,$(cmd_$(1)))))) > > # Find any prerequisites that is newer than target or that does not exist. > # PHONY targets skipped in both cases. > -- > 1.7.10.4 > > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

