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

Commit 25a5d23b authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'kbuild-fixes-v4.14-2' of...

Merge tag 'kbuild-fixes-v4.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild

Pull Kbuild fixes from Masahiro Yamada:

 - fix O= building on dash

 - remove unused dependency in Makefile

 - fix default of a choice in Kconfig

 - fix typos and documentation style

 - fix command options unrecognized by sparse

* tag 'kbuild-fixes-v4.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
  kbuild: clang: fix build failures with sparse check
  kbuild doc: a bundle of fixes on makefiles.txt
  Makefile: kselftest: fix grammar typo
  kbuild: Fix optimization level choice default
  kbuild: drop unused symverfile in Makefile.modpost
  kbuild: revert $(realpath ...) to $(shell cd ... && /bin/pwd)
parents a7d3e63f bb3f38c3
Loading
Loading
Loading
Loading
+18 −13
Original line number Original line Diff line number Diff line
@@ -1108,14 +1108,6 @@ When kbuild executes, the following steps are followed (roughly):
    ld
    ld
	Link target. Often, LDFLAGS_$@ is used to set specific options to ld.
	Link target. Often, LDFLAGS_$@ is used to set specific options to ld.


    objcopy
	Copy binary. Uses OBJCOPYFLAGS usually specified in
	arch/$(ARCH)/Makefile.
	OBJCOPYFLAGS_$@ may be used to set additional options.

    gzip
	Compress target. Use maximum compression to compress target.

	Example:
	Example:
		#arch/x86/boot/Makefile
		#arch/x86/boot/Makefile
		LDFLAGS_bootsect := -Ttext 0x0 -s --oformat binary
		LDFLAGS_bootsect := -Ttext 0x0 -s --oformat binary
@@ -1139,6 +1131,19 @@ When kbuild executes, the following steps are followed (roughly):
	      resulting in the target file being recompiled for no
	      resulting in the target file being recompiled for no
	      obvious reason.
	      obvious reason.


    objcopy
	Copy binary. Uses OBJCOPYFLAGS usually specified in
	arch/$(ARCH)/Makefile.
	OBJCOPYFLAGS_$@ may be used to set additional options.

    gzip
	Compress target. Use maximum compression to compress target.

	Example:
		#arch/x86/boot/compressed/Makefile
		$(obj)/vmlinux.bin.gz: $(vmlinux.bin.all-y) FORCE
			$(call if_changed,gzip)

    dtc
    dtc
	Create flattened device tree blob object suitable for linking
	Create flattened device tree blob object suitable for linking
	into vmlinux. Device tree blobs linked into vmlinux are placed
	into vmlinux. Device tree blobs linked into vmlinux are placed
@@ -1219,7 +1224,7 @@ When kbuild executes, the following steps are followed (roughly):
	that may be shared between individual architectures.
	that may be shared between individual architectures.
	The recommended approach how to use a generic header file is
	The recommended approach how to use a generic header file is
	to list the file in the Kbuild file.
	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
--- 6.11 Post-link pass


@@ -1299,7 +1304,7 @@ See subsequent chapter for the syntax of the Kbuild file.
			#arch/x86/include/asm/Kbuild
			#arch/x86/include/asm/Kbuild
			generated-y += syscalls_32.h
			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
	mandatory-y is essentially used by include/uapi/asm-generic/Kbuild.asm
	to define the minimum set of headers that must be exported in
	to define the minimum set of headers that must be exported in
+5 −5
Original line number Original line Diff line number Diff line
@@ -130,8 +130,8 @@ endif
ifneq ($(KBUILD_OUTPUT),)
ifneq ($(KBUILD_OUTPUT),)
# check that the output directory actually exists
# check that the output directory actually exists
saved-output := $(KBUILD_OUTPUT)
saved-output := $(KBUILD_OUTPUT)
$(shell [ -d $(KBUILD_OUTPUT) ] || mkdir -p $(KBUILD_OUTPUT))
KBUILD_OUTPUT := $(shell mkdir -p $(KBUILD_OUTPUT) && cd $(KBUILD_OUTPUT) \
KBUILD_OUTPUT := $(realpath $(KBUILD_OUTPUT))
								&& /bin/pwd)
$(if $(KBUILD_OUTPUT),, \
$(if $(KBUILD_OUTPUT),, \
     $(error failed to create output directory "$(saved-output)"))
     $(error failed to create output directory "$(saved-output)"))


@@ -697,11 +697,11 @@ KBUILD_CFLAGS += $(stackp-flag)


ifeq ($(cc-name),clang)
ifeq ($(cc-name),clang)
ifneq ($(CROSS_COMPILE),)
ifneq ($(CROSS_COMPILE),)
CLANG_TARGET	:= -target $(notdir $(CROSS_COMPILE:%-=%))
CLANG_TARGET	:= --target=$(notdir $(CROSS_COMPILE:%-=%))
GCC_TOOLCHAIN	:= $(realpath $(dir $(shell which $(LD)))/..)
GCC_TOOLCHAIN	:= $(realpath $(dir $(shell which $(LD)))/..)
endif
endif
ifneq ($(GCC_TOOLCHAIN),)
ifneq ($(GCC_TOOLCHAIN),)
CLANG_GCC_TC	:= -gcc-toolchain $(GCC_TOOLCHAIN)
CLANG_GCC_TC	:= --gcc-toolchain=$(GCC_TOOLCHAIN)
endif
endif
KBUILD_CFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
KBUILD_CFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
KBUILD_AFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
KBUILD_AFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
@@ -1399,7 +1399,7 @@ help:
	@echo  '                    Build, install, and boot kernel before'
	@echo  '                    Build, install, and boot kernel before'
	@echo  '                    running kselftest on it'
	@echo  '                    running kselftest on it'
	@echo  '  kselftest-clean - Remove all generated kselftest files'
	@echo  '  kselftest-clean - Remove all generated kselftest files'
	@echo  '  kselftest-merge - Merge all the config dependencies of kselftest to existed'
	@echo  '  kselftest-merge - Merge all the config dependencies of kselftest to existing'
	@echo  '                    .config.'
	@echo  '                    .config.'
	@echo  ''
	@echo  ''
	@echo 'Userspace tools targets:'
	@echo 'Userspace tools targets:'
+1 −1
Original line number Original line Diff line number Diff line
@@ -1033,7 +1033,7 @@ endif


choice
choice
	prompt "Compiler optimization level"
	prompt "Compiler optimization level"
	default CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
	default CC_OPTIMIZE_FOR_PERFORMANCE


config CC_OPTIMIZE_FOR_PERFORMANCE
config CC_OPTIMIZE_FOR_PERFORMANCE
	bool "Optimize for performance"
	bool "Optimize for performance"
+0 −1
Original line number Original line Diff line number Diff line
@@ -97,7 +97,6 @@ vmlinux.o: FORCE
	$(call cmd,kernel-mod)
	$(call cmd,kernel-mod)


# Declare generated files as targets for modpost
# Declare generated files as targets for modpost
$(symverfile):         __modpost ;
$(modules:.ko=.mod.c): __modpost ;
$(modules:.ko=.mod.c): __modpost ;




+1 −1
Original line number Original line Diff line number Diff line
@@ -26,7 +26,7 @@ endif


ifneq ($(OUTPUT),)
ifneq ($(OUTPUT),)
# check that the output directory actually exists
# check that the output directory actually exists
OUTDIR := $(realpath $(OUTPUT))
OUTDIR := $(shell cd $(OUTPUT) && /bin/pwd)
$(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist))
$(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist))
endif
endif


Loading