Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2a6934b authored by Masahiro Yamada's avatar Masahiro Yamada Committed by Gerrit - the friendly Code Review server
Browse files

kbuild: replace genhdr-y with generated-y



Originally, generated-y and genhdr-y had different meaning, like
follows:

- generated-y: generated headers (other than asm-generic wrappers)
- header-y   : headers to be exported
- genhdr-y   : generated headers to be exported (generated-y + header-y)

Since commit fcc8487d477a ("uapi: export all headers under uapi
directories"), headers under UAPI directories are all exported.
So, there is no more difference between generated-y and genhdr-y.

We see two users of genhdr-y, arch/{arm,x86}/include/uapi/asm/Kbuild.
They generate some headers in arch/{arm,x86}/include/generated/uapi/asm
directories, which are obviously exported.

Replace them with generated-y, and abolish genhdr-y.

Change-Id: I9b8b97c39673e93e3d1215090f31d68beffddbd7
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
Git-Commit: ae3f4151737d2aad271e5b1f2553c5d56e52850c
Git-Repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git


[bharad@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: default avatarNaitik Bharadiya <bharad@codeaurora.org>
[schikk@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: default avatarSwetha Chikkaboraiah <schikk@codeaurora.org>
parent cab41070
Loading
Loading
Loading
Loading
+26 −22
Original line number Diff line number Diff line
@@ -44,11 +44,10 @@ This document describes the Linux kernel Makefiles.

	=== 7 Kbuild syntax for exported headers
		--- 7.1 no-export-headers-y
		--- 7.2 genhdr-y
		--- 7.3 generic-y
		--- 7.4 generated-y
                --- 7.5 mandatory-y
                --- 7.6 subdir-y
		--- 7.2 generic-y
		--- 7.3 generated-y
		--- 7.4 mandatory-y
		--- 7.5 subdir-y

	=== 8 Kbuild Variables
	=== 9 Makefile language
@@ -1236,7 +1235,22 @@ When kbuild executes, the following steps are followed (roughly):
	that may be shared between individual architectures.
	The recommended approach how to use a generic header file is
	to list the file in the Kbuild file.
	See "7.3 generic-y" for further info on syntax etc.
	See "7.2 generic-y" for further info on syntax etc.

--- 6.11 Post-link pass

        If the file arch/xxx/Makefile.postlink exists, this makefile
        will be invoked for post-link objects (vmlinux and modules.ko)
        for architectures to run post-link passes on. Must also handle
        the clean target.

        This pass runs after kallsyms generation. If the architecture
        needs to modify symbol locations, rather than manipulate the
        kallsyms, it may be easier to add another postlink target for
        .tmp_vmlinux? targets to be called from link-vmlinux.sh.

        For example, powerpc uses this to check relocation sanity of
        the linked vmlinux file.

=== 7 Kbuild syntax for exported headers

@@ -1262,17 +1276,7 @@ See subsequent chapter for the syntax of the Kbuild file.
	avoid exporting specific headers (e.g. kvm.h) on architectures that do
	not support it. It should be avoided as much as possible.

	--- 7.2 genhdr-y

	genhdr-y specifies asm files to be generated.

		Example:
                       #arch/x86/include/uapi/asm/Kbuild
                       genhdr-y += unistd_32.h
                       genhdr-y += unistd_64.h
                       genhdr-y += unistd_x32.h

	--- 7.3 generic-y
	--- 7.2 generic-y

	If an architecture uses a verbatim copy of a header from
	include/asm-generic then this is listed in the file
@@ -1299,11 +1303,10 @@ See subsequent chapter for the syntax of the Kbuild file.
		Example: termios.h
			#include <asm-generic/termios.h>

	--- 7.4 generated-y
	--- 7.3 generated-y

	If an architecture generates other header files alongside generic-y
	wrappers, and not included in genhdr-y, then generated-y specifies
	them.
	wrappers, generated-y specifies them.

	This prevents them being treated as stale asm-generic wrappers and
	removed.
@@ -1311,7 +1314,8 @@ See subsequent chapter for the syntax of the Kbuild file.
		Example:
			#arch/x86/include/asm/Kbuild
			generated-y += syscalls_32.h
	-- 7.5 mandatory-y

	--- 7.4 mandatory-y

	mandatory-y is essentially used by include/uapi/asm-generic/Kbuild.asm
	to define the minimun set of headers that must be exported in
@@ -1320,7 +1324,7 @@ See subsequent chapter for the syntax of the Kbuild file.
	The convention is to list one subdir per line and
	preferably in alphabetic order.

	--- 7.6 subdir-y
	--- 7.5 subdir-y

	subdir-y may be used to specify a subdirectory to be exported.

+3 −3
Original line number Diff line number Diff line
# UAPI Header export list
include include/uapi/asm-generic/Kbuild.asm

genhdr-y += unistd-common.h
genhdr-y += unistd-oabi.h
genhdr-y += unistd-eabi.h
generated-y += unistd-common.h
generated-y += unistd-oabi.h
generated-y += unistd-eabi.h
+3 −3
Original line number Diff line number Diff line
# UAPI Header export list
include include/uapi/asm-generic/Kbuild.asm

genhdr-y += unistd_32.h
genhdr-y += unistd_64.h
genhdr-y += unistd_x32.h
generated-y += unistd_32.h
generated-y += unistd_64.h
generated-y += unistd_x32.h
+1 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@ _dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj))

# Stale wrappers when the corresponding files are removed from generic-y
# need removing.
generated-y   := $(generic-y) $(genhdr-y) $(generated-y)
generated-y   := $(generic-y) $(generated-y)
all-files     := $(patsubst %, $(obj)/%, $(generated-y))
old-headers   := $(wildcard $(obj)/*.h)
unwanted      := $(filter-out $(all-files),$(old-headers))