diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2019-03-16 22:01:09 -0400 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2019-03-16 23:56:32 -0400 |
commit | 037fc3368be46dc1a2a90f6e50c8cbce49d75fd6 (patch) | |
tree | 2fdd8f1b803d33f27aff70391742d48f843b33b5 | |
parent | 7cbbbb8bc2974264bbbf326d9a4552fc8878d375 (diff) |
kbuild: force all architectures except um to include mandatory-y
Currently, every arch/*/include/uapi/asm/Kbuild explicitly includes
the common Kbuild.asm file. Factor out the duplicated include directives
to scripts/Makefile.asm-generic so that no architecture would opt out
of the mandatory-y mechanism.
um is not forced to include mandatory-y since it is a very exceptional
case which does not support UAPI.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
29 files changed, 18 insertions, 47 deletions
diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt index f124be6e4c3a..03c065855eaf 100644 --- a/Documentation/kbuild/makefiles.txt +++ b/Documentation/kbuild/makefiles.txt | |||
@@ -1274,7 +1274,7 @@ See subsequent chapter for the syntax of the Kbuild file. | |||
1274 | 1274 | ||
1275 | --- 7.4 mandatory-y | 1275 | --- 7.4 mandatory-y |
1276 | 1276 | ||
1277 | mandatory-y is essentially used by include/(uapi/)asm-generic/Kbuild.asm | 1277 | mandatory-y is essentially used by include/(uapi/)asm-generic/Kbuild |
1278 | to define the minimum set of ASM headers that all architectures must have. | 1278 | to define the minimum set of ASM headers that all architectures must have. |
1279 | 1279 | ||
1280 | This works like optional generic-y. If a mandatory header is missing | 1280 | This works like optional generic-y. If a mandatory header is missing |
@@ -1098,9 +1098,11 @@ asm-generic := -f $(srctree)/scripts/Makefile.asm-generic obj | |||
1098 | 1098 | ||
1099 | PHONY += asm-generic uapi-asm-generic | 1099 | PHONY += asm-generic uapi-asm-generic |
1100 | asm-generic: uapi-asm-generic | 1100 | asm-generic: uapi-asm-generic |
1101 | $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/asm | 1101 | $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/asm \ |
1102 | generic=include/asm-generic | ||
1102 | uapi-asm-generic: | 1103 | uapi-asm-generic: |
1103 | $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm | 1104 | $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm \ |
1105 | generic=include/uapi/asm-generic | ||
1104 | 1106 | ||
1105 | PHONY += prepare-objtool | 1107 | PHONY += prepare-objtool |
1106 | prepare-objtool: $(objtool_target) | 1108 | prepare-objtool: $(objtool_target) |
diff --git a/arch/alpha/include/uapi/asm/Kbuild b/arch/alpha/include/uapi/asm/Kbuild index 439f5157aa35..7417847dc438 100644 --- a/arch/alpha/include/uapi/asm/Kbuild +++ b/arch/alpha/include/uapi/asm/Kbuild | |||
@@ -1,3 +1 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generated-y += unistd_32.h | generated-y += unistd_32.h | |
diff --git a/arch/arc/include/uapi/asm/Kbuild b/arch/arc/include/uapi/asm/Kbuild index 0febf1a07c30..755bb11323d8 100644 --- a/arch/arc/include/uapi/asm/Kbuild +++ b/arch/arc/include/uapi/asm/Kbuild | |||
@@ -1,4 +1,2 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generic-y += kvm_para.h | 1 | generic-y += kvm_para.h |
4 | generic-y += ucontext.h | 2 | generic-y += ucontext.h |
diff --git a/arch/arm/include/uapi/asm/Kbuild b/arch/arm/include/uapi/asm/Kbuild index eee8f7d23899..23b4464c0995 100644 --- a/arch/arm/include/uapi/asm/Kbuild +++ b/arch/arm/include/uapi/asm/Kbuild | |||
@@ -1,5 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
2 | include include/uapi/asm-generic/Kbuild.asm | ||
3 | 2 | ||
4 | generated-y += unistd-common.h | 3 | generated-y += unistd-common.h |
5 | generated-y += unistd-oabi.h | 4 | generated-y += unistd-oabi.h |
diff --git a/arch/arm64/include/uapi/asm/Kbuild b/arch/arm64/include/uapi/asm/Kbuild index 87eea29b24ab..602d137932dc 100644 --- a/arch/arm64/include/uapi/asm/Kbuild +++ b/arch/arm64/include/uapi/asm/Kbuild | |||
@@ -1,4 +1,3 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
2 | include include/uapi/asm-generic/Kbuild.asm | ||
3 | 2 | ||
4 | generic-y += kvm_para.h | 3 | generic-y += kvm_para.h |
diff --git a/arch/c6x/include/uapi/asm/Kbuild b/arch/c6x/include/uapi/asm/Kbuild index 0febf1a07c30..755bb11323d8 100644 --- a/arch/c6x/include/uapi/asm/Kbuild +++ b/arch/c6x/include/uapi/asm/Kbuild | |||
@@ -1,4 +1,2 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generic-y += kvm_para.h | 1 | generic-y += kvm_para.h |
4 | generic-y += ucontext.h | 2 | generic-y += ucontext.h |
diff --git a/arch/csky/include/uapi/asm/Kbuild b/arch/csky/include/uapi/asm/Kbuild index c1b06dcf6cf8..1c72f04ff75d 100644 --- a/arch/csky/include/uapi/asm/Kbuild +++ b/arch/csky/include/uapi/asm/Kbuild | |||
@@ -1,3 +1 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generic-y += ucontext.h | generic-y += ucontext.h | |
diff --git a/arch/h8300/include/uapi/asm/Kbuild b/arch/h8300/include/uapi/asm/Kbuild index 0febf1a07c30..755bb11323d8 100644 --- a/arch/h8300/include/uapi/asm/Kbuild +++ b/arch/h8300/include/uapi/asm/Kbuild | |||
@@ -1,4 +1,2 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generic-y += kvm_para.h | 1 | generic-y += kvm_para.h |
4 | generic-y += ucontext.h | 2 | generic-y += ucontext.h |
diff --git a/arch/hexagon/include/uapi/asm/Kbuild b/arch/hexagon/include/uapi/asm/Kbuild index c1b06dcf6cf8..1c72f04ff75d 100644 --- a/arch/hexagon/include/uapi/asm/Kbuild +++ b/arch/hexagon/include/uapi/asm/Kbuild | |||
@@ -1,3 +1 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generic-y += ucontext.h | generic-y += ucontext.h | |
diff --git a/arch/ia64/include/uapi/asm/Kbuild b/arch/ia64/include/uapi/asm/Kbuild index 5b819e53c397..20018cb883a9 100644 --- a/arch/ia64/include/uapi/asm/Kbuild +++ b/arch/ia64/include/uapi/asm/Kbuild | |||
@@ -1,4 +1,2 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generated-y += unistd_64.h | 1 | generated-y += unistd_64.h |
4 | generic-y += kvm_para.h | 2 | generic-y += kvm_para.h |
diff --git a/arch/m68k/include/uapi/asm/Kbuild b/arch/m68k/include/uapi/asm/Kbuild index 960bf1e4be53..8a7ad40be463 100644 --- a/arch/m68k/include/uapi/asm/Kbuild +++ b/arch/m68k/include/uapi/asm/Kbuild | |||
@@ -1,4 +1,2 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generated-y += unistd_32.h | 1 | generated-y += unistd_32.h |
4 | generic-y += kvm_para.h | 2 | generic-y += kvm_para.h |
diff --git a/arch/microblaze/include/uapi/asm/Kbuild b/arch/microblaze/include/uapi/asm/Kbuild index 97823ec46e97..3ce84fbb2678 100644 --- a/arch/microblaze/include/uapi/asm/Kbuild +++ b/arch/microblaze/include/uapi/asm/Kbuild | |||
@@ -1,5 +1,3 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generated-y += unistd_32.h | 1 | generated-y += unistd_32.h |
4 | generic-y += kvm_para.h | 2 | generic-y += kvm_para.h |
5 | generic-y += ucontext.h | 3 | generic-y += ucontext.h |
diff --git a/arch/mips/include/uapi/asm/Kbuild b/arch/mips/include/uapi/asm/Kbuild index 0851c103a8ce..c3798bfe0486 100644 --- a/arch/mips/include/uapi/asm/Kbuild +++ b/arch/mips/include/uapi/asm/Kbuild | |||
@@ -1,5 +1,3 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generated-y += unistd_n32.h | 1 | generated-y += unistd_n32.h |
4 | generated-y += unistd_n64.h | 2 | generated-y += unistd_n64.h |
5 | generated-y += unistd_o32.h | 3 | generated-y += unistd_o32.h |
diff --git a/arch/nds32/include/uapi/asm/Kbuild b/arch/nds32/include/uapi/asm/Kbuild index c1b06dcf6cf8..1c72f04ff75d 100644 --- a/arch/nds32/include/uapi/asm/Kbuild +++ b/arch/nds32/include/uapi/asm/Kbuild | |||
@@ -1,3 +1 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generic-y += ucontext.h | generic-y += ucontext.h | |
diff --git a/arch/nios2/include/uapi/asm/Kbuild b/arch/nios2/include/uapi/asm/Kbuild index 0febf1a07c30..755bb11323d8 100644 --- a/arch/nios2/include/uapi/asm/Kbuild +++ b/arch/nios2/include/uapi/asm/Kbuild | |||
@@ -1,4 +1,2 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generic-y += kvm_para.h | 1 | generic-y += kvm_para.h |
4 | generic-y += ucontext.h | 2 | generic-y += ucontext.h |
diff --git a/arch/openrisc/include/uapi/asm/Kbuild b/arch/openrisc/include/uapi/asm/Kbuild index 0febf1a07c30..755bb11323d8 100644 --- a/arch/openrisc/include/uapi/asm/Kbuild +++ b/arch/openrisc/include/uapi/asm/Kbuild | |||
@@ -1,4 +1,2 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generic-y += kvm_para.h | 1 | generic-y += kvm_para.h |
4 | generic-y += ucontext.h | 2 | generic-y += ucontext.h |
diff --git a/arch/parisc/include/uapi/asm/Kbuild b/arch/parisc/include/uapi/asm/Kbuild index c54353d390ff..22fdbd08cdc8 100644 --- a/arch/parisc/include/uapi/asm/Kbuild +++ b/arch/parisc/include/uapi/asm/Kbuild | |||
@@ -1,5 +1,3 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generated-y += unistd_32.h | 1 | generated-y += unistd_32.h |
4 | generated-y += unistd_64.h | 2 | generated-y += unistd_64.h |
5 | generic-y += kvm_para.h | 3 | generic-y += kvm_para.h |
diff --git a/arch/powerpc/include/uapi/asm/Kbuild b/arch/powerpc/include/uapi/asm/Kbuild index 214a39acdf25..2bd5b392277c 100644 --- a/arch/powerpc/include/uapi/asm/Kbuild +++ b/arch/powerpc/include/uapi/asm/Kbuild | |||
@@ -1,4 +1,2 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generated-y += unistd_32.h | 1 | generated-y += unistd_32.h |
4 | generated-y += unistd_64.h | 2 | generated-y += unistd_64.h |
diff --git a/arch/riscv/include/uapi/asm/Kbuild b/arch/riscv/include/uapi/asm/Kbuild index d2ee86b4c091..e69de29bb2d1 100644 --- a/arch/riscv/include/uapi/asm/Kbuild +++ b/arch/riscv/include/uapi/asm/Kbuild | |||
@@ -1 +0,0 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
diff --git a/arch/s390/include/uapi/asm/Kbuild b/arch/s390/include/uapi/asm/Kbuild index da3e0d48abbc..46c1ff0b842a 100644 --- a/arch/s390/include/uapi/asm/Kbuild +++ b/arch/s390/include/uapi/asm/Kbuild | |||
@@ -1,5 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
2 | include include/uapi/asm-generic/Kbuild.asm | ||
3 | 2 | ||
4 | generated-y += unistd_32.h | 3 | generated-y += unistd_32.h |
5 | generated-y += unistd_64.h | 4 | generated-y += unistd_64.h |
diff --git a/arch/sh/include/uapi/asm/Kbuild b/arch/sh/include/uapi/asm/Kbuild index eaa30bcd93bf..ecfbd40924dd 100644 --- a/arch/sh/include/uapi/asm/Kbuild +++ b/arch/sh/include/uapi/asm/Kbuild | |||
@@ -1,5 +1,4 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
2 | include include/uapi/asm-generic/Kbuild.asm | ||
3 | 2 | ||
4 | generated-y += unistd_32.h | 3 | generated-y += unistd_32.h |
5 | generic-y += kvm_para.h | 4 | generic-y += kvm_para.h |
diff --git a/arch/sparc/include/uapi/asm/Kbuild b/arch/sparc/include/uapi/asm/Kbuild index 214a39acdf25..2bd5b392277c 100644 --- a/arch/sparc/include/uapi/asm/Kbuild +++ b/arch/sparc/include/uapi/asm/Kbuild | |||
@@ -1,4 +1,2 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generated-y += unistd_32.h | 1 | generated-y += unistd_32.h |
4 | generated-y += unistd_64.h | 2 | generated-y += unistd_64.h |
diff --git a/arch/unicore32/include/uapi/asm/Kbuild b/arch/unicore32/include/uapi/asm/Kbuild index 0febf1a07c30..755bb11323d8 100644 --- a/arch/unicore32/include/uapi/asm/Kbuild +++ b/arch/unicore32/include/uapi/asm/Kbuild | |||
@@ -1,4 +1,2 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generic-y += kvm_para.h | 1 | generic-y += kvm_para.h |
4 | generic-y += ucontext.h | 2 | generic-y += ucontext.h |
diff --git a/arch/x86/include/uapi/asm/Kbuild b/arch/x86/include/uapi/asm/Kbuild index f6648e9928b3..59b5ad310f78 100644 --- a/arch/x86/include/uapi/asm/Kbuild +++ b/arch/x86/include/uapi/asm/Kbuild | |||
@@ -1,5 +1,3 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generated-y += unistd_32.h | 1 | generated-y += unistd_32.h |
4 | generated-y += unistd_64.h | 2 | generated-y += unistd_64.h |
5 | generated-y += unistd_x32.h | 3 | generated-y += unistd_x32.h |
diff --git a/arch/xtensa/include/uapi/asm/Kbuild b/arch/xtensa/include/uapi/asm/Kbuild index 960bf1e4be53..8a7ad40be463 100644 --- a/arch/xtensa/include/uapi/asm/Kbuild +++ b/arch/xtensa/include/uapi/asm/Kbuild | |||
@@ -1,4 +1,2 @@ | |||
1 | include include/uapi/asm-generic/Kbuild.asm | ||
2 | |||
3 | generated-y += unistd_32.h | 1 | generated-y += unistd_32.h |
4 | generic-y += kvm_para.h | 2 | generic-y += kvm_para.h |
diff --git a/include/asm-generic/Kbuild b/include/asm-generic/Kbuild new file mode 100644 index 000000000000..6f4536d70b8e --- /dev/null +++ b/include/asm-generic/Kbuild | |||
@@ -0,0 +1,5 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0 | ||
2 | # | ||
3 | # asm headers that all architectures except um should have | ||
4 | # (This file is not included when SRCARCH=um since UML borrows several | ||
5 | # asm headers from the host architecutre.) | ||
diff --git a/include/uapi/asm-generic/Kbuild.asm b/include/uapi/asm-generic/Kbuild index 355c4ac2c0b0..ebb180aac74e 100644 --- a/include/uapi/asm-generic/Kbuild.asm +++ b/include/uapi/asm-generic/Kbuild | |||
@@ -1,6 +1,8 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0 | ||
1 | # | 2 | # |
2 | # Headers that are mandatory in usr/include/asm/ | 3 | # Headers that are mandatory in usr/include/asm/ |
3 | # | 4 | # (This file is not included when SRCARCH=um since UML does not support UAPI.) |
5 | |||
4 | mandatory-y += auxvec.h | 6 | mandatory-y += auxvec.h |
5 | mandatory-y += bitsperlong.h | 7 | mandatory-y += bitsperlong.h |
6 | mandatory-y += bpf_perf_event.h | 8 | mandatory-y += bpf_perf_event.h |
diff --git a/scripts/Makefile.asm-generic b/scripts/Makefile.asm-generic index c7d2b7acad26..82ad63dcd62b 100644 --- a/scripts/Makefile.asm-generic +++ b/scripts/Makefile.asm-generic | |||
@@ -12,6 +12,11 @@ all: | |||
12 | src := $(subst /generated,,$(obj)) | 12 | src := $(subst /generated,,$(obj)) |
13 | -include $(src)/Kbuild | 13 | -include $(src)/Kbuild |
14 | 14 | ||
15 | # $(generic)/Kbuild lists mandatory-y. Exclude um since it is a special case. | ||
16 | ifneq ($(SRCARCH),um) | ||
17 | include $(generic)/Kbuild | ||
18 | endif | ||
19 | |||
15 | include scripts/Kbuild.include | 20 | include scripts/Kbuild.include |
16 | 21 | ||
17 | redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y)) | 22 | redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y)) |