[PATCH v4 0/2] kbuild: Remove stale asm-generic wrappers
From: James Hogan
Date: Fri Jun 24 2016 - 18:43:07 EST
This patchset attempts to fix kbuild to automatically remove stale
asm-generic wrappers, i.e. when files are removed from generic-y and
added directly into arch/*/include/uapi/asm/, but where the existing
wrapper in arch/*/include/generated/asm/ continues to be used.
MIPS was recently burned by this in v4.3 (see patch 2), with continuing
reports of build failures when people upgrade their trees, which go away
after arch/mips/include/generated is removed (or reportedly make
mrproper/distclean). It is particularly irritating during bisection.
Since v2 I've seen other cases of this breaking MIPS build, and testing
on x86_64, starting a build first on v4.0 and then on mainline with this
patchset shows one stale generated header:
REMOVE arch/x86/include/generated/asm/scatterlist.h
Changes in v4:
- None (resend on Thomas Gleixner's request).
Changes in v3:
- Ensure FORCE actually gets marked .PHONY.
Changes in v2:
- New patch 1 to add tracking of generated headers that aren't generic-y
wrappers, via generated-y, particularly for x86 (thanks to kbuild test
robot).
- Rewrite a bit, drawing inspiration from Makefile.headersinst.
- Exclude genhdr-y and generated-y (thanks to kbuild test robot).
James Hogan (2):
kbuild, x86: Track generated headers with generated-y
kbuild: Remove stale asm-generic wrappers
Documentation/kbuild/makefiles.txt | 14 ++++++++++++++
arch/x86/include/asm/Kbuild | 6 ++++++
scripts/Makefile.asm-generic | 17 ++++++++++++++++-
3 files changed, 36 insertions(+), 1 deletion(-)
Cc: Michal Marek <mmarek@xxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
Cc: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Florian Fainelli <f.fainelli@xxxxxxxxx>
Cc: Heinrich Schuchardt <xypron.glpk@xxxxxx>
Cc: linux-kbuild@xxxxxxxxxxxxxxx
Cc: x86@xxxxxxxxxx
Cc: linux-doc@xxxxxxxxxxxxxxx
Cc: linux-arch@xxxxxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxx
--
2.4.10