aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-10-04 20:11:17 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-05 14:04:36 -0400
commitc353acba28fb3fa1fd05fd6b85a9fc7938330f9c (patch)
treed6701107e9a1138ae88b296483f1bbf297d03948
parent0eb5a35801df3c438ce3fc91310a415ea4452c00 (diff)
kbuild: make: fix if_changed when command contains backslashes
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 <s.hauer@pengutronix.de> Signed-off-by: Jan Luebbe <jlu@pengutronix.de> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Bernhard Walle <bernhard@bwalle.de> Cc: Michal Marek <mmarek@suse.cz> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--scripts/Kbuild.include2
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index 6a3ee981931..afa44595f34 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -209,7 +209,7 @@ endif
209# >$< substitution to preserve $ when reloading .cmd file 209# >$< substitution to preserve $ when reloading .cmd file
210# note: when using inline perl scripts [perl -e '...$$t=1;...'] 210# note: when using inline perl scripts [perl -e '...$$t=1;...']
211# in $(cmd_xxx) double $$ your perl vars 211# in $(cmd_xxx) double $$ your perl vars
212make-cmd = $(subst \#,\\\#,$(subst $$,$$$$,$(call escsq,$(cmd_$(1))))) 212make-cmd = $(subst \\,\\\\,$(subst \#,\\\#,$(subst $$,$$$$,$(call escsq,$(cmd_$(1))))))
213 213
214# Find any prerequisites that is newer than target or that does not exist. 214# Find any prerequisites that is newer than target or that does not exist.
215# PHONY targets skipped in both cases. 215# PHONY targets skipped in both cases.