diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2014-02-13 16:28:58 -0500 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2014-03-29 20:58:18 +0100 |
commit | 9c8cdb71644a22c2ffa0a7daa1b54cb6ed718c47 (patch) | |
tree | 1e077959ec977fda5b1150e777128d4f4e7463dd | |
parent | 100da4c0150c97ce34d4d3b38bf2f5449b05ae4f (diff) | |
download | lwn-9c8cdb71644a22c2ffa0a7daa1b54cb6ed718c47.tar.gz lwn-9c8cdb71644a22c2ffa0a7daa1b54cb6ed718c47.zip |
kbuild: unconditionally clobber include/linux/version.h on distclean
As of v3.7, the UAPI changes relocated headers around such that the
kernel version header lived in a new place.
If a person is bisecting and if you go back to pre-UAPI days,
you will create an include/linux/version.h -- then if you checkout a
post-UAPI kernel, and even run "make distclean" it still won't delete
that old version file. So you get a situation like this:
$ grep -R LINUX_VERSION_CODE include/
include/generated/uapi/linux/version.h:#define LINUX_VERSION_CODE 200192
include/linux/version.h:#define LINUX_VERSION_CODE 132646
The value in that second line is representative of a v2.6.38 version.
And it will be sourced/used, hence leading to strange behaviours, such
as drivers/staging content (which typically hasn't been purged of version
ifdefs) failing to build.
Since it is a subtle mode of failure, lets always clobber the old
file when doing a distclean.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
-rw-r--r-- | Makefile | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -1070,7 +1070,7 @@ MRPROPER_FILES += .config .config.old .version .old_version $(version_h) \ Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS \ signing_key.priv signing_key.x509 x509.genkey \ extra_certificates signing_key.x509.keyid \ - signing_key.x509.signer + signing_key.x509.signer include/linux/version.h # clean - Delete most, but leave enough to build external modules # |