Skip to content

Commit

Permalink
kbuild: unconditionally clobber include/linux/version.h on distclean
Browse files Browse the repository at this point in the history
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 <[email protected]>
Acked-by: David Howells <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
  • Loading branch information
Paul Gortmaker authored and michal42 committed Mar 29, 2014
1 parent 100da4c commit 9c8cdb7
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
#
Expand Down

0 comments on commit 9c8cdb7

Please sign in to comment.