Re: [PATCH] kbuild: unconditionally clobber include/linux/version.h on distclean

From: David Howells
Date: Sat Feb 15 2014 - 17:54:53 EST


Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> wrote:

> 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.
>
> Cc: Michal Marek <mmarek@xxxxxxx>
> Cc: David Howells <dhowells@xxxxxxxxxx>
> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>

Acked-by: David Howells <dhowells@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/