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

Commit 85e1ffbd authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull more Kbuild updates from Masahiro Yamada:

 - improve boolinit.cocci and use_after_iter.cocci semantic patches

 - fix alignment for kallsyms

 - move 'asm goto' compiler test to Kconfig and clean up jump_label
   CONFIG option

 - generate asm-generic wrappers automatically if arch does not
   implement mandatory UAPI headers

 - remove redundant generic-y defines

 - misc cleanups

* tag 'kbuild-v4.21-3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
  kconfig: rename generated .*conf-cfg to *conf-cfg
  kbuild: remove unnecessary stubs for archheader and archscripts
  kbuild: use assignment instead of define ... endef for filechk_* rules
  arch: remove redundant UAPI generic-y defines
  kbuild: generate asm-generic wrappers if mandatory headers are missing
  arch: remove stale comments "UAPI Header export list"
  riscv: remove redundant kernel-space generic-y
  kbuild: change filechk to surround the given command with { }
  kbuild: remove redundant target cleaning on failure
  kbuild: clean up rule_dtc_dt_yaml
  kbuild: remove UIMAGE_IN and UIMAGE_OUT
  jump_label: move 'asm goto' support test to Kconfig
  kallsyms: lower alignment on ARM
  scripts: coccinelle: boolinit: drop warnings on named constants
  scripts: coccinelle: check for redeclaration
  kconfig: remove unused "file" field of yylval union
  nds32: remove redundant kernel-space generic-y
  nios2: remove unneeded HAS_DMA define
parents ac5eed2b d86271af
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -1296,9 +1296,12 @@ See subsequent chapter for the syntax of the Kbuild file.

--- 7.4 mandatory-y

	mandatory-y is essentially used by include/uapi/asm-generic/Kbuild.asm
	to define the minimum set of headers that must be exported in
	include/asm.
	mandatory-y is essentially used by include/(uapi/)asm-generic/Kbuild.asm
	to define the minimum set of ASM headers that all architectures must have.

	This works like optional generic-y. If a mandatory header is missing
	in arch/$(ARCH)/include/(uapi/)/asm, Kbuild will automatically generate
	a wrapper of the asm-generic one.

	The convention is to list one subdir per line and
	preferably in alphabetic order.
+1 −3
Original line number Diff line number Diff line
@@ -26,9 +26,7 @@ timeconst-file := include/generated/timeconst.h

targets += $(timeconst-file)

define filechk_gentimeconst
	(echo $(CONFIG_HZ) | bc -q $< )
endef
filechk_gentimeconst = echo $(CONFIG_HZ) | bc -q $<

$(timeconst-file): kernel/time/timeconst.bc FORCE
	$(call filechk,gentimeconst)
+5 −17
Original line number Diff line number Diff line
@@ -514,13 +514,6 @@ RETPOLINE_VDSO_CFLAGS := $(call cc-option,$(RETPOLINE_VDSO_CFLAGS_GCC),$(call cc
export RETPOLINE_CFLAGS
export RETPOLINE_VDSO_CFLAGS

# check for 'asm goto'
ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) $(KBUILD_CFLAGS)), y)
  CC_HAVE_ASM_GOTO := 1
  KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
  KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
endif

# The expansion should be delayed until arch/$(SRCARCH)/Makefile is included.
# Some architectures define CROSS_COMPILE in arch/$(SRCARCH)/Makefile.
# CC_VERSION_TEXT is referenced from Kconfig (so it needs export),
@@ -1048,9 +1041,8 @@ PHONY += $(vmlinux-dirs)
$(vmlinux-dirs): prepare
	$(Q)$(MAKE) $(build)=$@ need-builtin=1

define filechk_kernel.release
filechk_kernel.release = \
	echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"
endef

# Store (new) KERNELRELEASE string in include/config/kernel.release
include/config/kernel.release: $(srctree)/Makefile FORCE
@@ -1134,13 +1126,13 @@ define filechk_utsrelease.h
	  echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2;    \
	  exit 1;                                                         \
	fi;                                                               \
	(echo \#define UTS_RELEASE \"$(KERNELRELEASE)\";)
	echo \#define UTS_RELEASE \"$(KERNELRELEASE)\"
endef

define filechk_version.h
	(echo \#define LINUX_VERSION_CODE $(shell                         \
	echo \#define LINUX_VERSION_CODE $(shell                         \
	expr $(VERSION) \* 65536 + 0$(PATCHLEVEL) \* 256 + 0$(SUBLEVEL)); \
	echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';)
	echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'
endef

$(version_h): FORCE
@@ -1164,11 +1156,7 @@ export INSTALL_HDR_PATH = $(objtree)/usr
# If we do an all arch process set dst to include/arch-$(SRCARCH)
hdr-dst = $(if $(KBUILD_HEADERS), dst=include/arch-$(SRCARCH), dst=include)

PHONY += archheaders
archheaders:

PHONY += archscripts
archscripts:
PHONY += archheaders archscripts

PHONY += __headers
__headers: $(version_h) scripts_basic uapi-asm-generic archheaders archscripts
+1 −0
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@ config KPROBES
config JUMP_LABEL
       bool "Optimize very unlikely/likely branches"
       depends on HAVE_ARCH_JUMP_LABEL
       depends on CC_HAS_ASM_GOTO
       help
         This option enables a transparent branch optimization that
	 makes certain almost-always-true or almost-always-false branch
+0 −7
Original line number Diff line number Diff line
# UAPI Header export list
include include/uapi/asm-generic/Kbuild.asm

generated-y += unistd_32.h
generic-y += bpf_perf_event.h
generic-y += ipcbuf.h
generic-y += msgbuf.h
generic-y += poll.h
generic-y += sembuf.h
generic-y += shmbuf.h
Loading