]> Git Repo - linux.git/commitdiff
Merge tag 'kbuild-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
authorLinus Torvalds <[email protected]>
Sat, 29 Dec 2018 20:03:17 +0000 (12:03 -0800)
committerLinus Torvalds <[email protected]>
Sat, 29 Dec 2018 20:03:17 +0000 (12:03 -0800)
Pull Kbuild updates from Masahiro Yamada:
 "Kbuild core:
   - remove unneeded $(call cc-option,...) switches
   - consolidate Clang compiler flags into CLANG_FLAGS
   - announce the deprecation of SUBDIRS
   - fix single target build for external module
   - simplify the dependencies of 'prepare' stage targets
   - allow fixdep to directly write to .*.cmd files
   - simplify dependency generation for CONFIG_TRIM_UNUSED_KSYMS
   - change if_changed_rule to accept multi-line recipe
   - move .SECONDARY special target to scripts/Kbuild.include
   - remove redundant 'set -e'
   - improve parallel execution for CONFIG_HEADERS_CHECK
   - misc cleanups

  Treewide fixes and cleanups
   - set Clang flags correctly for PowerPC boot images
   - fix UML build error with CONFIG_GCC_PLUGINS
   - remove unneeded patterns from .gitignore files
   - refactor firmware/Makefile
   - remove unneeded rules for *offsets.s
   - avoid unneeded regeneration of intermediate .s files
   - clean up ./Kbuild

  Modpost:
   - remove unused -M, -K options
   - fix false positive warnings about section mismatch
   - use simple devtable lookup instead of linker magic
   - misc cleanups

  Coccinelle:
   - relax boolinit.cocci checks for overall consistency
   - fix warning messages of boolinit.cocci

  Other tools:
   - improve -dirty check of scripts/setlocalversion
   - add a tool to generate compile_commands.json from .*.cmd files"

* tag 'kbuild-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (51 commits)
  kbuild: remove unused cmd_gentimeconst
  kbuild: remove $(obj)/ prefixes in ./Kbuild
  treewide: add intermediate .s files to targets
  treewide: remove explicit rules for *offsets.s
  firmware: refactor firmware/Makefile
  firmware: remove unnecessary patterns from .gitignore
  scripts: remove unnecessary ihex2fw and check-lc_ctypes from .gitignore
  um: remove unused filechk_gen_header in Makefile
  scripts: add a tool to produce a compile_commands.json file
  kbuild: add -Werror=implicit-int flag unconditionally
  kbuild: add -Werror=strict-prototypes flag unconditionally
  kbuild: add -fno-PIE flag unconditionally
  scripts: coccinelle: Correct warning message
  scripts: coccinelle: only suggest true/false in files that already use them
  kbuild: handle part-of-module correctly for *.ll and *.symtypes
  kbuild: refactor part-of-module
  kbuild: refactor quiet_modtag
  kbuild: remove redundant quiet_modtag for $(obj-m)
  kbuild: refactor Makefile.asm-generic
  user/Makefile: Fix typo and capitalization in comment section
  ...

1  2 
Makefile
arch/arm/crypto/Makefile
arch/arm/mach-omap2/Makefile
arch/arm64/crypto/Makefile
arch/powerpc/boot/Makefile
samples/bpf/Makefile
scripts/Kbuild.include
scripts/Makefile.build
scripts/Makefile.gcc-plugins
scripts/Makefile.lib

diff --combined Makefile
index 7b4cfa42c28598da7143d80120346450a0c9c788,b9e902e8e38274c14d8d9c3b2dd49d18caf78512..60a4732476576b04bdaca1ffa2e5ce4b422944f8
+++ b/Makefile
@@@ -2,8 -2,8 +2,8 @@@
  VERSION = 4
  PATCHLEVEL = 20
  SUBLEVEL = 0
 -EXTRAVERSION = -rc2
 -NAME = "People's Front"
 +EXTRAVERSION =
 +NAME = Shy Crocodile
  
  # *DOCUMENTATION*
  # To see a list of typical targets execute "make help"
@@@ -186,6 -186,10 +186,10 @@@ endi
  # Old syntax make ... SUBDIRS=$PWD is still supported
  # Setting the environment variable KBUILD_EXTMOD take precedence
  ifdef SUBDIRS
+   $(warning ================= WARNING ================)
+   $(warning 'SUBDIRS' will be removed after Linux 5.3)
+   $(warning Please use 'M=' or 'KBUILD_EXTMOD' instead)
+   $(warning ==========================================)
    KBUILD_EXTMOD ?= $(SUBDIRS)
  endif
  
@@@ -422,10 -426,10 +426,10 @@@ LINUXINCLUDE    := 
                -I$(objtree)/include \
                $(USERINCLUDE)
  
- KBUILD_AFLAGS   := -D__ASSEMBLY__
- KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
-                  -fno-strict-aliasing -fno-common -fshort-wchar \
-                  -Werror-implicit-function-declaration \
+ KBUILD_AFLAGS   := -D__ASSEMBLY__ -fno-PIE
+ KBUILD_CFLAGS   := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \
+                  -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \
+                  -Werror-implicit-function-declaration -Werror=implicit-int \
                   -Wno-format-security \
                   -std=gnu89
  KBUILD_CPPFLAGS := -D__KERNEL__
@@@ -487,18 -491,18 +491,18 @@@ endi
  
  ifneq ($(shell $(CC) --version 2>&1 | head -n 1 | grep clang),)
  ifneq ($(CROSS_COMPILE),)
- CLANG_TARGET  := --target=$(notdir $(CROSS_COMPILE:%-=%))
+ CLANG_FLAGS   := --target=$(notdir $(CROSS_COMPILE:%-=%))
  GCC_TOOLCHAIN_DIR := $(dir $(shell which $(LD)))
- CLANG_PREFIX  := --prefix=$(GCC_TOOLCHAIN_DIR)
+ CLANG_FLAGS   += --prefix=$(GCC_TOOLCHAIN_DIR)
  GCC_TOOLCHAIN := $(realpath $(GCC_TOOLCHAIN_DIR)/..)
  endif
  ifneq ($(GCC_TOOLCHAIN),)
- CLANG_GCC_TC  := --gcc-toolchain=$(GCC_TOOLCHAIN)
+ CLANG_FLAGS   += --gcc-toolchain=$(GCC_TOOLCHAIN)
  endif
- KBUILD_CFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC) $(CLANG_PREFIX)
- KBUILD_AFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC) $(CLANG_PREFIX)
- KBUILD_CFLAGS += $(call cc-option, -no-integrated-as)
- KBUILD_AFLAGS += $(call cc-option, -no-integrated-as)
+ CLANG_FLAGS   += -no-integrated-as
+ KBUILD_CFLAGS += $(CLANG_FLAGS)
+ KBUILD_AFLAGS += $(CLANG_FLAGS)
+ export CLANG_FLAGS
  endif
  
  RETPOLINE_CFLAGS_GCC := -mindirect-branch=thunk-extern -mindirect-branch-register
@@@ -510,9 -514,6 +514,6 @@@ RETPOLINE_VDSO_CFLAGS := $(call cc-opti
  export RETPOLINE_CFLAGS
  export RETPOLINE_VDSO_CFLAGS
  
- KBUILD_CFLAGS += $(call cc-option,-fno-PIE)
- KBUILD_AFLAGS += $(call cc-option,-fno-PIE)
  # check for 'asm goto'
  ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) $(KBUILD_CFLAGS)), y)
    CC_HAVE_ASM_GOTO := 1
@@@ -828,12 -829,6 +829,6 @@@ KBUILD_CFLAGS  += $(call cc-option,-fno
  # conserve stack if available
  KBUILD_CFLAGS   += $(call cc-option,-fconserve-stack)
  
- # disallow errors like 'EXPORT_GPL(foo);' with missing header
- KBUILD_CFLAGS   += $(call cc-option,-Werror=implicit-int)
- # require functions to have arguments in prototypes, not empty 'int foo()'
- KBUILD_CFLAGS   += $(call cc-option,-Werror=strict-prototypes)
  # Prohibit date/time macros, which would make the build non-deterministic
  KBUILD_CFLAGS   += $(call cc-option,-Werror=date-time)
  
@@@ -962,6 -957,11 +957,6 @@@ ifdef CONFIG_STACK_VALIDATIO
    ifeq ($(has_libelf),1)
      objtool_target := tools/objtool FORCE
    else
 -    ifdef CONFIG_UNWINDER_ORC
 -      $(error "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel")
 -    else
 -      $(warning "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel")
 -    endif
      SKIP_STACK_VALIDATION := 1
      export SKIP_STACK_VALIDATION
    endif
@@@ -1026,14 -1026,13 +1021,13 @@@ cmd_link-vmlinux 
        $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
  
  vmlinux: scripts/link-vmlinux.sh autoksyms_recursive $(vmlinux-deps) FORCE
- ifdef CONFIG_HEADERS_CHECK
-       $(Q)$(MAKE) -f $(srctree)/Makefile headers_check
- endif
  ifdef CONFIG_GDB_SCRIPTS
        $(Q)ln -fsn $(abspath $(srctree)/scripts/gdb/vmlinux-gdb.py)
  endif
        +$(call if_changed,link-vmlinux)
  
+ targets := vmlinux
  # Build samples along the rest of the kernel. This needs headers_install.
  ifdef CONFIG_SAMPLES
  vmlinux-dirs += samples
@@@ -1051,7 -1050,7 +1045,7 @@@ $(sort $(vmlinux-deps)): $(vmlinux-dirs
  # Error messages still appears in the original language
  
  PHONY += $(vmlinux-dirs)
- $(vmlinux-dirs): prepare scripts
+ $(vmlinux-dirs): prepare
        $(Q)$(MAKE) $(build)=$@ need-builtin=1
  
  define filechk_kernel.release
@@@ -1066,7 -1065,7 +1060,7 @@@ include/config/kernel.release: $(srctre
  # Carefully list dependencies so we do not try to build scripts twice
  # in parallel
  PHONY += scripts
- scripts: scripts_basic scripts_dtc asm-generic gcc-plugins $(autoksyms_h)
+ scripts: scripts_basic scripts_dtc
        $(Q)$(MAKE) $(build)=$(@)
  
  # Things we need to do before we recursively start building the kernel
  # version.h and scripts_basic is processed / created.
  
  # Listed in dependency order
 -PHONY += prepare archprepare macroprepare prepare0 prepare1 prepare2 prepare3
 +PHONY += prepare archprepare prepare0 prepare1 prepare2 prepare3
  
  # prepare3 is used to check if we are building in a separate output directory,
  # and if so do:
@@@ -1099,33 -1098,28 +1093,34 @@@ prepare2: prepare3 outputmakefile asm-g
  prepare1: prepare2 $(version_h) $(autoksyms_h) include/generated/utsrelease.h
        $(cmd_crmodverdir)
  
- archprepare: archheaders archscripts prepare1 scripts_basic
 -macroprepare: prepare1 archmacros
 -
 -archprepare: archheaders archscripts macroprepare scripts
++archprepare: archheaders archscripts prepare1 scripts
  
- prepare0: archprepare gcc-plugins
+ prepare0: archprepare
+       $(Q)$(MAKE) $(build)=scripts/mod
        $(Q)$(MAKE) $(build)=.
  
  # All the preparing..
  prepare: prepare0 prepare-objtool
  
  # Support for using generic headers in asm-generic
+ asm-generic := -f $(srctree)/scripts/Makefile.asm-generic obj
  PHONY += asm-generic uapi-asm-generic
  asm-generic: uapi-asm-generic
-       $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.asm-generic \
-                   src=asm obj=arch/$(SRCARCH)/include/generated/asm
+       $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/asm
  uapi-asm-generic:
-       $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.asm-generic \
-                   src=uapi/asm obj=arch/$(SRCARCH)/include/generated/uapi/asm
+       $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm
  
  PHONY += prepare-objtool
  prepare-objtool: $(objtool_target)
 +ifeq ($(SKIP_STACK_VALIDATION),1)
 +ifdef CONFIG_UNWINDER_ORC
 +      @echo "error: Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2
 +      @false
 +else
 +      @echo "warning: Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2
 +endif
 +endif
  
  # Generate some files
  # ---------------------------------------------------------------------------
@@@ -1175,6 -1169,9 +1170,6 @@@ archheaders
  PHONY += archscripts
  archscripts:
  
 -PHONY += archmacros
 -archmacros:
 -
  PHONY += __headers
  __headers: $(version_h) scripts_basic uapi-asm-generic archheaders archscripts
        $(Q)$(MAKE) $(build)=scripts build_unifdef
@@@ -1199,6 -1196,10 +1194,10 @@@ headers_check: headers_instal
        $(Q)$(MAKE) $(hdr-inst)=include/uapi dst=include HDRCHECK=1
        $(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi $(hdr-dst) HDRCHECK=1
  
+ ifdef CONFIG_HEADERS_CHECK
+ all: headers_check
+ endif
  # ---------------------------------------------------------------------------
  # Kernel selftest
  
@@@ -1230,13 -1231,10 +1229,13 @@@ ifneq ($(dtstree),
  %.dtb: prepare3 scripts_dtc
        $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
  
 -PHONY += dtbs dtbs_install
 -dtbs: prepare3 scripts_dtc
 +PHONY += dtbs dtbs_install dt_binding_check
 +dtbs dtbs_check: prepare3 scripts_dtc
        $(Q)$(MAKE) $(build)=$(dtstree)
  
 +dtbs_check: export CHECK_DTBS=1
 +dtbs_check: dt_binding_check
 +
  dtbs_install:
        $(Q)$(MAKE) $(dtbinst)=$(dtstree)
  
@@@ -1250,9 -1248,6 +1249,9 @@@ PHONY += scripts_dt
  scripts_dtc: scripts_basic
        $(Q)$(MAKE) $(build)=scripts/dtc
  
 +dt_binding_check: scripts_dtc
 +      $(Q)$(MAKE) $(build)=Documentation/devicetree/bindings
 +
  # ---------------------------------------------------------------------------
  # Modules
  
@@@ -1283,7 -1278,7 +1282,7 @@@ modules.builtin: $(vmlinux-dirs:%=%/mod
  
  # Target to prepare building external modules
  PHONY += modules_prepare
- modules_prepare: prepare scripts
+ modules_prepare: prepare
  
  # Target to install modules
  PHONY += modules_install
@@@ -1551,9 -1546,6 +1550,6 @@@ else # KBUILD_EXTMO
  
  # We are always building modules
  KBUILD_MODULES := 1
- PHONY += crmodverdir
- crmodverdir:
-       $(cmd_crmodverdir)
  
  PHONY += $(objtree)/Module.symvers
  $(objtree)/Module.symvers:
  
  module-dirs := $(addprefix _module_,$(KBUILD_EXTMOD))
  PHONY += $(module-dirs) modules
- $(module-dirs): crmodverdir $(objtree)/Module.symvers
+ $(module-dirs): prepare $(objtree)/Module.symvers
        $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
  
  modules: $(module-dirs)
@@@ -1604,10 -1596,9 +1600,9 @@@ help
        @echo  '  clean           - remove generated files in module directory only'
        @echo  ''
  
- # Dummies...
- PHONY += prepare scripts
- prepare: ;
- scripts: ;
+ PHONY += prepare
+ prepare:
+       $(cmd_crmodverdir)
  endif # KBUILD_EXTMOD
  
  clean: $(clean-dirs)
        $(call cmd,rmfiles)
        @find $(if $(KBUILD_EXTMOD), $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \
                \( -name '*.[aios]' -o -name '*.ko' -o -name '.*.cmd' \
 -              -o -name '*.ko.*' -o -name '*.dtb' -o -name '*.dtb.S' \
 +              -o -name '*.ko.*' \
 +              -o -name '*.dtb' -o -name '*.dtb.S' -o -name '*.dt.yaml' \
                -o -name '*.dwo' -o -name '*.lst' \
                -o -name '*.su'  \
                -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
          target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@))
  endif
  
- %.s: %.c prepare scripts FORCE
+ %.s: %.c prepare FORCE
        $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
- %.i: %.c prepare scripts FORCE
+ %.i: %.c prepare FORCE
        $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
- %.o: %.c prepare scripts FORCE
+ %.o: %.c prepare FORCE
        $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
- %.lst: %.c prepare scripts FORCE
+ %.lst: %.c prepare FORCE
        $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
- %.s: %.S prepare scripts FORCE
+ %.s: %.S prepare FORCE
        $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
- %.o: %.S prepare scripts FORCE
+ %.o: %.S prepare FORCE
        $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
- %.symtypes: %.c prepare scripts FORCE
+ %.symtypes: %.c prepare FORCE
        $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
- %.ll: %.c prepare scripts FORCE
+ %.ll: %.c prepare FORCE
        $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
  
  # Modules
- /: prepare scripts FORCE
-       $(cmd_crmodverdir)
+ /: prepare FORCE
        $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
        $(build)=$(build-dir)
  # Make sure the latest headers are built for Documentation
  Documentation/ samples/: headers_install
- %/: prepare scripts FORCE
-       $(cmd_crmodverdir)
+ %/: prepare FORCE
        $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
        $(build)=$(build-dir)
- %.ko: prepare scripts FORCE
-       $(cmd_crmodverdir)
+ %.ko: prepare FORCE
        $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1)   \
        $(build)=$(build-dir) $(@:.ko=.o)
        $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
@@@ -1765,13 -1752,12 +1757,12 @@@ quiet_cmd_depmod = DEPMOD  $(KERNELRELE
  cmd_crmodverdir = $(Q)mkdir -p $(MODVERDIR) \
                    $(if $(KBUILD_MODULES),; rm -f $(MODVERDIR)/*)
  
- # read all saved command lines
cmd_files := $(wildcard .*.cmd)
+ # read saved command lines for existing targets
existing-targets := $(wildcard $(sort $(targets)))
  
- ifneq ($(cmd_files),)
-   $(cmd_files): ;     # Do not try to update included dependency files
-   include $(cmd_files)
- endif
+ cmd_files := $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
+ $(cmd_files): ;       # Do not try to update included dependency files
+ -include $(cmd_files)
  
  endif   # ifeq ($(config-targets),1)
  endif   # ifeq ($(mixed-targets),1)
diff --combined arch/arm/crypto/Makefile
index b65d6bfab8e6b7e483d75b7129e72eb44c9a5668,89f88abba698d548957fea7d8151fe9990732452..4180f3a13512cf4d284a67eff636972b0f0ece86
@@@ -9,8 -9,7 +9,8 @@@ obj-$(CONFIG_CRYPTO_SHA1_ARM) += sha1-a
  obj-$(CONFIG_CRYPTO_SHA1_ARM_NEON) += sha1-arm-neon.o
  obj-$(CONFIG_CRYPTO_SHA256_ARM) += sha256-arm.o
  obj-$(CONFIG_CRYPTO_SHA512_ARM) += sha512-arm.o
 -obj-$(CONFIG_CRYPTO_CHACHA20_NEON) += chacha20-neon.o
 +obj-$(CONFIG_CRYPTO_CHACHA20_NEON) += chacha-neon.o
 +obj-$(CONFIG_CRYPTO_NHPOLY1305_NEON) += nhpoly1305-neon.o
  
  ce-obj-$(CONFIG_CRYPTO_AES_ARM_CE) += aes-arm-ce.o
  ce-obj-$(CONFIG_CRYPTO_SHA1_ARM_CE) += sha1-arm-ce.o
@@@ -53,8 -52,7 +53,8 @@@ aes-arm-ce-y  := aes-ce-core.o aes-ce-gl
  ghash-arm-ce-y        := ghash-ce-core.o ghash-ce-glue.o
  crct10dif-arm-ce-y    := crct10dif-ce-core.o crct10dif-ce-glue.o
  crc32-arm-ce-y:= crc32-ce-core.o crc32-ce-glue.o
 -chacha20-neon-y := chacha20-neon-core.o chacha20-neon-glue.o
 +chacha-neon-y := chacha-neon-core.o chacha-neon-glue.o
 +nhpoly1305-neon-y := nh-neon-core.o nhpoly1305-neon-glue.o
  
  ifdef REGENERATE_ARM_CRYPTO
  quiet_cmd_perl = PERL    $@
@@@ -67,4 -65,4 +67,4 @@@ $(src)/sha512-core.S_shipped: $(src)/sh
        $(call cmd,perl)
  endif
  
targets += sha256-core.S sha512-core.S
clean-files += sha256-core.S sha512-core.S
index 899c60fac15938c1c2d839280ab8abd3de3672c5,4afdf56964c985e15390402c860f35a4d3ce6eee..85d1b13c9215b89da7087e19b2aefe0ceb68e515
@@@ -24,7 -24,7 +24,7 @@@ obj-$(CONFIG_SOC_OMAP5)        += $(hwmod-com
  obj-$(CONFIG_SOC_AM43XX) += $(hwmod-common) $(secure-common)
  obj-$(CONFIG_SOC_DRA7XX) += $(hwmod-common) $(secure-common)
  
 -ifneq ($(CONFIG_SND_OMAP_SOC_MCBSP),)
 +ifneq ($(CONFIG_SND_SOC_OMAP_MCBSP),)
  obj-y += mcbsp.o
  endif
  
@@@ -236,10 -236,9 +236,9 @@@ obj-y                                     += omap_phy_internal.
  
  obj-$(CONFIG_MACH_OMAP2_TUSB6010)     += usb-tusb6010.o
  
- arch/arm/mach-omap2/pm-asm-offsets.s: arch/arm/mach-omap2/pm-asm-offsets.c
-       $(call if_changed_dep,cc_s_c)
  include/generated/ti-pm-asm-offsets.h: arch/arm/mach-omap2/pm-asm-offsets.s FORCE
        $(call filechk,offsets,__TI_PM_ASM_OFFSETS_H__)
  
  $(obj)/sleep33xx.o $(obj)/sleep43xx.o: include/generated/ti-pm-asm-offsets.h
+ targets += pm-asm-offsets.s
index a4ffd9fe32650c0310cc12ac735fb087a8eede6b,860d9312ccf986498d4d02b2c517de96873d1c12..e766daf43b7cf5c39a2caaee1a23f76f2dc01841
@@@ -50,11 -50,8 +50,11 @@@ sha256-arm64-y := sha256-glue.o sha256-
  obj-$(CONFIG_CRYPTO_SHA512_ARM64) += sha512-arm64.o
  sha512-arm64-y := sha512-glue.o sha512-core.o
  
 -obj-$(CONFIG_CRYPTO_CHACHA20_NEON) += chacha20-neon.o
 -chacha20-neon-y := chacha20-neon-core.o chacha20-neon-glue.o
 +obj-$(CONFIG_CRYPTO_CHACHA20_NEON) += chacha-neon.o
 +chacha-neon-y := chacha-neon-core.o chacha-neon-glue.o
 +
 +obj-$(CONFIG_CRYPTO_NHPOLY1305_NEON) += nhpoly1305-neon.o
 +nhpoly1305-neon-y := nh-neon-core.o nhpoly1305-neon-glue.o
  
  obj-$(CONFIG_CRYPTO_AES_ARM64) += aes-arm64.o
  aes-arm64-y := aes-cipher-core.o aes-cipher-glue.o
@@@ -78,4 -75,4 +78,4 @@@ $(src)/sha512-core.S_shipped: $(src)/sh
        $(call cmd,perlasm)
  endif
  
targets += sha256-core.S sha512-core.S
clean-files += sha256-core.S sha512-core.S
index ed9883169190577f86bc77059eaefdd5d1f3caff,111f97b1ccec994a0fbb3da00864dd2bb5fceefa..0e8dadd011bc493ea7d5caf6a3a917b50fcb0946
@@@ -55,6 -55,11 +55,11 @@@ BOOTAFLAGS  := -D__ASSEMBLY__ $(BOOTCFLA
  
  BOOTARFLAGS   := -cr$(KBUILD_ARFLAGS)
  
+ ifdef CONFIG_CC_IS_CLANG
+ BOOTCFLAGS += $(CLANG_FLAGS)
+ BOOTAFLAGS += $(CLANG_FLAGS)
+ endif
  ifdef CONFIG_DEBUG_INFO
  BOOTCFLAGS    += -g
  endif
@@@ -197,7 -202,7 +202,7 @@@ $(obj)/empty.c
  $(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds : $(obj)/%: $(srctree)/$(src)/%.S
        $(Q)cp $< $@
  
 -$(obj)/serial.c: $(obj)/autoconf.h
 +$(srctree)/$(src)/serial.c: $(obj)/autoconf.h
  
  $(obj)/autoconf.h: $(obj)/%: $(objtree)/include/generated/%
        $(Q)cp $< $@
diff --combined samples/bpf/Makefile
index 35444f4a846bdfdbbadb836f8ccb48c9d34293d3,82d5a38704607a00026d0810f9476ef771b2ef76..66ae15f27c70d8ecd7c52760e0c84d469b9faf0f
@@@ -208,20 -208,12 +208,20 @@@ endi
  BTF_LLC_PROBE := $(shell $(LLC) -march=bpf -mattr=help 2>&1 | grep dwarfris)
  BTF_PAHOLE_PROBE := $(shell $(BTF_PAHOLE) --help 2>&1 | grep BTF)
  BTF_OBJCOPY_PROBE := $(shell $(LLVM_OBJCOPY) --help 2>&1 | grep -i 'usage.*llvm')
 +BTF_LLVM_PROBE := $(shell echo "int main() { return 0; }" | \
 +                        $(CLANG) -target bpf -O2 -g -c -x c - -o ./llvm_btf_verify.o; \
 +                        readelf -S ./llvm_btf_verify.o | grep BTF; \
 +                        /bin/rm -f ./llvm_btf_verify.o)
  
 +ifneq ($(BTF_LLVM_PROBE),)
 +      EXTRA_CFLAGS += -g
 +else
  ifneq ($(and $(BTF_LLC_PROBE),$(BTF_PAHOLE_PROBE),$(BTF_OBJCOPY_PROBE)),)
        EXTRA_CFLAGS += -g
        LLC_FLAGS += -mattr=dwarfris
        DWARF2BTF = y
  endif
 +endif
  
  # Trick to allow make to be run from this directory
  all:
@@@ -235,12 -227,10 +235,10 @@@ $(LIBBPF): FORC
  # Fix up variables inherited from Kbuild that tools/ build system won't like
        $(MAKE) -C $(dir $@) RM='rm -rf' LDFLAGS= srctree=$(BPF_SAMPLES_PATH)/../../ O=
  
- $(obj)/syscall_nrs.s: $(src)/syscall_nrs.c
-       $(call if_changed_dep,cc_s_c)
  $(obj)/syscall_nrs.h: $(obj)/syscall_nrs.s FORCE
        $(call filechk,offsets,__SYSCALL_NRS_H__)
  
+ targets += syscall_nrs.s
  clean-files += syscall_nrs.h
  
  FORCE:
diff --combined scripts/Kbuild.include
index 3d09844405c923c2d1a7fa04d6e1c15b6567180d,4f138620865bee5fa3d49541a01b528d0f2d093c..46bf1a073f5dd44acb1c227fb55c86928ee21f43
@@@ -115,7 -115,9 +115,7 @@@ __cc-option = $(call try-run,
  
  # Do not attempt to build with gcc plugins during cc-option tests.
  # (And this uses delayed resolution so the flags will be up to date.)
 -# In addition, do not include the asm macros which are built later.
 -CC_OPTION_FILTERED = $(GCC_PLUGINS_CFLAGS) $(ASM_MACRO_FLAGS)
 -CC_OPTION_CFLAGS = $(filter-out $(CC_OPTION_FILTERED),$(KBUILD_CFLAGS))
 +CC_OPTION_CFLAGS = $(filter-out $(GCC_PLUGINS_CFLAGS),$(KBUILD_CFLAGS))
  
  # cc-option
  # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586)
@@@ -213,7 -215,7 +213,7 @@@ echo-cmd = $(if $($(quiet)cmd_$(1)),
        echo '  $(call escsq,$($(quiet)cmd_$(1)))$(echo-why)';)
  
  # printing commands
- cmd = @$(echo-cmd) $(cmd_$(1))
+ cmd = @set -e; $(echo-cmd) $(cmd_$(1))
  
  # Add $(obj)/ for paths that are not absolute
  objectify = $(foreach o,$(1),$(if $(filter /%,$(o)),$(o),$(obj)/$(o)))
@@@ -249,56 -251,21 +249,21 @@@ any-prereq = $(filter-out $(PHONY),$?) 
  
  # Execute command if command has changed or prerequisite(s) are updated.
  if_changed = $(if $(strip $(any-prereq) $(arg-check)),                       \
-       @set -e;                                                             \
-       $(echo-cmd) $(cmd_$(1));                                             \
+       $(cmd);                                                              \
        printf '%s\n' 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd, @:)
  
  # Execute the command and also postprocess generated .d dependencies file.
- if_changed_dep = $(if $(strip $(any-prereq) $(arg-check) ),                  \
-       @set -e;                                                             \
-       $(cmd_and_fixdep), @:)
- ifndef CONFIG_TRIM_UNUSED_KSYMS
+ if_changed_dep = $(if $(strip $(any-prereq) $(arg-check)),$(cmd_and_fixdep),@:)
  
  cmd_and_fixdep =                                                             \
-       $(echo-cmd) $(cmd_$(1));                                             \
-       scripts/basic/fixdep $(depfile) $@ '$(make-cmd)' > $(dot-target).tmp;\
-       rm -f $(depfile);                                                    \
-       mv -f $(dot-target).tmp $(dot-target).cmd;
- else
- # Filter out exported kernel symbol names from the preprocessor output.
- # See also __KSYM_DEPS__ in include/linux/export.h.
- # We disable the depfile generation here, so as not to overwrite the existing
- # depfile while fixdep is parsing it.
- flags_nodeps = $(filter-out -Wp$(comma)-M%, $($(1)))
- ksym_dep_filter =                                                            \
-       case "$(1)" in                                                       \
-         cc_*_c|cpp_i_c)                                                    \
-           $(CPP) $(call flags_nodeps,c_flags) -D__KSYM_DEPS__ $< ;;        \
-         as_*_S|cpp_s_S)                                                    \
-           $(CPP) $(call flags_nodeps,a_flags) -D__KSYM_DEPS__ $< ;;        \
-         boot*|build*|cpp_its_S|*cpp_lds_S|dtc|host*|vdso*) : ;;            \
-         *) echo "Don't know how to preprocess $(1)" >&2; false ;;          \
-       esac | tr ";" "\n" | sed -n 's/^.*=== __KSYM_\(.*\) ===.*$$/_\1/p'
- cmd_and_fixdep =                                                             \
-       $(echo-cmd) $(cmd_$(1));                                             \
-       $(ksym_dep_filter) |                                                 \
-               scripts/basic/fixdep -e $(depfile) $@ '$(make-cmd)'          \
-                       > $(dot-target).tmp;                                 \
-       rm -f $(depfile);                                                    \
-       mv -f $(dot-target).tmp $(dot-target).cmd;
- endif
+       $(cmd);                                                              \
+       scripts/basic/fixdep $(depfile) $@ '$(make-cmd)' > $(dot-target).cmd;\
+       rm -f $(depfile)
  
  # Usage: $(call if_changed_rule,foo)
  # Will check if $(cmd_foo) or any of the prerequisites changed,
  # and if so will execute $(rule_foo).
- if_changed_rule = $(if $(strip $(any-prereq) $(arg-check) ),                 \
-       @set -e;                                                             \
-       $(rule_$(1)), @:)
+ if_changed_rule = $(if $(strip $(any-prereq) $(arg-check)),$(rule_$(1)),@:)
  
  ###
  # why - tell why a target got built
@@@ -391,3 -358,6 +356,6 @@@ ende
  
  # delete partially updated (i.e. corrupted) files on error
  .DELETE_ON_ERROR:
+ # do not delete intermediate files automatically
+ .SECONDARY:
diff --combined scripts/Makefile.build
index 6a6be9f440cf940358a0236b6ad13360fed253ca,0f2b5f07926b01d3253f0ffbc5d35d89f1a973cf..fd03d60f6c5aca50f94131f2d500cbcc4325c352
@@@ -75,14 -75,14 +75,14 @@@ __build: $(if $(KBUILD_BUILTIN),$(built
  # Linus' kernel sanity checking tool
  ifeq ($(KBUILD_CHECKSRC),1)
    quiet_cmd_checksrc       = CHECK   $<
-         cmd_checksrc       = $(CHECK) $(CHECKFLAGS) $(c_flags) $< ;
+         cmd_checksrc       = $(CHECK) $(CHECKFLAGS) $(c_flags) $<
  else ifeq ($(KBUILD_CHECKSRC),2)
    quiet_cmd_force_checksrc = CHECK   $<
-         cmd_force_checksrc = $(CHECK) $(CHECKFLAGS) $(c_flags) $< ;
+         cmd_force_checksrc = $(CHECK) $(CHECKFLAGS) $(c_flags) $<
  endif
  
  ifneq ($(KBUILD_ENABLE_EXTRA_GCC_CHECKS),)
-   cmd_checkdoc = $(srctree)/scripts/kernel-doc -none $< ;
+   cmd_checkdoc = $(srctree)/scripts/kernel-doc -none $<
  endif
  
  # Do section mismatch analysis for each module/built-in.a
@@@ -94,23 -94,14 +94,14 @@@ endi
  # ---------------------------------------------------------------------------
  
  # Default is built-in, unless we know otherwise
+ $(foreach x, i ll lst o s symtypes, $(patsubst %.o,%.$(x),$(real-obj-m))): \
+       part-of-module := y
  modkern_cflags =                                          \
        $(if $(part-of-module),                           \
                $(KBUILD_CFLAGS_MODULE) $(CFLAGS_MODULE), \
                $(KBUILD_CFLAGS_KERNEL) $(CFLAGS_KERNEL))
- quiet_modtag := $(empty)   $(empty)
- $(real-obj-m)        : part-of-module := y
- $(real-obj-m:.o=.i)  : part-of-module := y
- $(real-obj-m:.o=.s)  : part-of-module := y
- $(real-obj-m:.o=.lst): part-of-module := y
- $(real-obj-m)        : quiet_modtag := [M]
- $(real-obj-m:.o=.i)  : quiet_modtag := [M]
- $(real-obj-m:.o=.s)  : quiet_modtag := [M]
- $(real-obj-m:.o=.lst): quiet_modtag := [M]
- $(obj-m)             : quiet_modtag := [M]
+ quiet_modtag = $(if $(part-of-module),[M],   )
  
  quiet_cmd_cc_s_c = CC $(quiet_modtag)  $@
  cmd_cc_s_c       = $(CC) $(c_flags) $(DISABLE_LTO) -fverbose-asm -S -o $@ $<
@@@ -134,7 -125,6 +125,6 @@@ cmd_gensymtypes_c 
  
  quiet_cmd_cc_symtypes_c = SYM $(quiet_modtag) $@
  cmd_cc_symtypes_c =                                                         \
-     set -e;                                                                 \
      $(call cmd_gensymtypes_c,true,$@) >/dev/null;                           \
      test -s $@ || rm -f $@
  
@@@ -154,36 -144,31 +144,31 @@@ $(obj)/%.ll: $(src)/%.c FORC
  # (See cmd_cc_o_c + relevant part of rule_cc_o_c)
  
  quiet_cmd_cc_o_c = CC $(quiet_modtag)  $@
+       cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $<
  
- ifndef CONFIG_MODVERSIONS
- cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $<
- else
+ ifdef CONFIG_MODVERSIONS
  # When module versioning is enabled the following steps are executed:
- # o compile a .tmp_<file>.o from <file>.c
- # o if .tmp_<file>.o doesn't contain a __ksymtab version, i.e. does
- #   not export symbols, we just rename .tmp_<file>.o to <file>.o and
- #   are done.
+ # o compile a <file>.o from <file>.c
+ # o if <file>.o doesn't contain a __ksymtab version, i.e. does
+ #   not export symbols, it's done.
  # o otherwise, we calculate symbol versions using the good old
  #   genksyms on the preprocessed source and postprocess them in a way
  #   that they are usable as a linker script
- # o generate <file>.o from .tmp_<file>.o using the linker to
+ # o generate .tmp_<file>.o from <file>.o using the linker to
  #   replace the unresolved symbols __crc_exported_symbol with
  #   the actual value of the checksum generated by genksyms
- cmd_cc_o_c = $(CC) $(c_flags) -c -o $(@D)/.tmp_$(@F) $<
+ # o remove .tmp_<file>.o to <file>.o
  
  cmd_modversions_c =                                                           \
-       if $(OBJDUMP) -h $(@D)/.tmp_$(@F) | grep -q __ksymtab; then             \
+       if $(OBJDUMP) -h $@ | grep -q __ksymtab; then                           \
                $(call cmd_gensymtypes_c,$(KBUILD_SYMTYPES),$(@:.o=.symtypes))  \
                    > $(@D)/.tmp_$(@F:.o=.ver);                                 \
                                                                                \
-               $(LD) $(KBUILD_LDFLAGS) -r -o $@ $(@D)/.tmp_$(@F)               \
+               $(LD) $(KBUILD_LDFLAGS) -r -o $(@D)/.tmp_$(@F) $@               \
                        -T $(@D)/.tmp_$(@F:.o=.ver);                            \
-               rm -f $(@D)/.tmp_$(@F) $(@D)/.tmp_$(@F:.o=.ver);                \
-       else                                                                    \
                mv -f $(@D)/.tmp_$(@F) $@;                                      \
-       fi;
+               rm -f $(@D)/.tmp_$(@F:.o=.ver);                                 \
+       fi
  endif
  
  ifdef CONFIG_FTRACE_MCOUNT_RECORD
@@@ -204,7 -189,7 +189,7 @@@ sub_cmd_record_mcount =                                    
  recordmcount_source := $(srctree)/scripts/recordmcount.c \
                    $(srctree)/scripts/recordmcount.h
  else
- sub_cmd_record_mcount = set -e ; perl $(srctree)/scripts/recordmcount.pl "$(ARCH)" \
+ sub_cmd_record_mcount = perl $(srctree)/scripts/recordmcount.pl "$(ARCH)" \
        "$(if $(CONFIG_CPU_BIG_ENDIAN),big,little)" \
        "$(if $(CONFIG_64BIT),64,32)" \
        "$(OBJDUMP)" "$(OBJCOPY)" "$(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS)" \
@@@ -216,7 -201,7 +201,7 @@@ cmd_record_mcount =                                                
        if [ "$(findstring $(CC_FLAGS_FTRACE),$(_c_flags))" =   \
             "$(CC_FLAGS_FTRACE)" ]; then                       \
                $(sub_cmd_record_mcount)                        \
-       fi;
+       fi
  endif # CC_USING_RECORD_MCOUNT
  endif # CONFIG_FTRACE_MCOUNT_RECORD
  
@@@ -236,22 -221,17 +221,15 @@@ ifdef CONFIG_GCOV_KERNE
  objtool_args += --no-unreachable
  endif
  ifdef CONFIG_RETPOLINE
 -ifneq ($(RETPOLINE_CFLAGS),)
    objtool_args += --retpoline
  endif
 -endif
  
- ifdef CONFIG_MODVERSIONS
- objtool_o = $(@D)/.tmp_$(@F)
- else
- objtool_o = $(@)
- endif
  # 'OBJECT_FILES_NON_STANDARD := y': skip objtool checking for a directory
  # 'OBJECT_FILES_NON_STANDARD_foo.o := 'y': skip objtool checking for a file
  # 'OBJECT_FILES_NON_STANDARD_foo.o := 'n': override directory skip for a file
  cmd_objtool = $(if $(patsubst y%,, \
        $(OBJECT_FILES_NON_STANDARD_$(basetarget).o)$(OBJECT_FILES_NON_STANDARD)n), \
-       $(__objtool_obj) $(objtool_args) "$(objtool_o)";)
+       $(__objtool_obj) $(objtool_args) $@)
  objtool_obj = $(if $(patsubst y%,, \
        $(OBJECT_FILES_NON_STANDARD_$(basetarget).o)$(OBJECT_FILES_NON_STANDARD)n), \
        $(__objtool_obj))
@@@ -264,19 -244,26 +242,26 @@@ objtool_dep = $(objtool_obj)                                    
              $(wildcard include/config/orc/unwinder.h          \
                         include/config/stack/validation.h)
  
+ ifdef CONFIG_TRIM_UNUSED_KSYMS
+ cmd_gen_ksymdeps = \
+       $(CONFIG_SHELL) $(srctree)/scripts/gen_ksymdeps.sh $@ >> $(dot-target).cmd
+ endif
  define rule_cc_o_c
-       $(call echo-cmd,checksrc) $(cmd_checksrc)                         \
-       $(call cmd_and_fixdep,cc_o_c)                                     \
-       $(cmd_checkdoc)                                                   \
-       $(call echo-cmd,objtool) $(cmd_objtool)                           \
-       $(cmd_modversions_c)                                              \
-       $(call echo-cmd,record_mcount) $(cmd_record_mcount)
+       $(call cmd,checksrc)
+       $(call cmd_and_fixdep,cc_o_c)
+       $(call cmd,gen_ksymdeps)
+       $(call cmd,checkdoc)
+       $(call cmd,objtool)
+       $(call cmd,modversions_c)
+       $(call cmd,record_mcount)
  endef
  
  define rule_as_o_S
-       $(call cmd_and_fixdep,as_o_S)                                     \
-       $(call echo-cmd,objtool) $(cmd_objtool)                           \
-       $(cmd_modversions_S)
+       $(call cmd_and_fixdep,as_o_S)
+       $(call cmd,gen_ksymdeps)
+       $(call cmd,objtool)
+       $(call cmd,modversions_S)
  endef
  
  # List module undefined symbols (or empty line if not enabled)
@@@ -340,7 -327,6 +325,6 @@@ cmd_gensymtypes_S 
  
  quiet_cmd_cc_symtypes_S = SYM $(quiet_modtag) $@
  cmd_cc_symtypes_S =                                                         \
-     set -e;                                                                 \
      $(call cmd_gensymtypes_S,true,$@) >/dev/null;                           \
      test -s $@ || rm -f $@
  
@@@ -355,35 -341,27 +339,27 @@@ $(obj)/%.s: $(src)/%.S FORC
        $(call if_changed_dep,cpp_s_S)
  
  quiet_cmd_as_o_S = AS $(quiet_modtag)  $@
+       cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $<
  
- ifndef CONFIG_MODVERSIONS
- cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $<
- else
+ ifdef CONFIG_MODVERSIONS
  
  ASM_PROTOTYPES := $(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/asm-prototypes.h)
  
- ifeq ($(ASM_PROTOTYPES),)
- cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $<
- else
+ ifneq ($(ASM_PROTOTYPES),)
  
  # versioning matches the C process described above, with difference that
  # we parse asm-prototypes.h C header to get function definitions.
  
- cmd_as_o_S = $(CC) $(a_flags) -c -o $(@D)/.tmp_$(@F) $<
  cmd_modversions_S =                                                           \
-       if $(OBJDUMP) -h $(@D)/.tmp_$(@F) | grep -q __ksymtab; then             \
+       if $(OBJDUMP) -h $@ | grep -q __ksymtab; then                           \
                $(call cmd_gensymtypes_S,$(KBUILD_SYMTYPES),$(@:.o=.symtypes))  \
                    > $(@D)/.tmp_$(@F:.o=.ver);                                 \
                                                                                \
-               $(LD) $(KBUILD_LDFLAGS) -r -o $@ $(@D)/.tmp_$(@F)               \
+               $(LD) $(KBUILD_LDFLAGS) -r -o $(@D)/.tmp_$(@F) $@               \
                        -T $(@D)/.tmp_$(@F:.o=.ver);                            \
-               rm -f $(@D)/.tmp_$(@F) $(@D)/.tmp_$(@F:.o=.ver);                \
-       else                                                                    \
                mv -f $(@D)/.tmp_$(@F) $@;                                      \
-       fi;
+               rm -f $(@D)/.tmp_$(@F:.o=.ver);                                 \
+       fi
  endif
  endif
  
@@@ -527,25 -505,19 +503,19 @@@ FORCE
  # optimization, we don't need to read them if the target does not
  # exist, we will rebuild anyway in that case.
  
cmd_files := $(wildcard $(foreach f,$(sort $(targets)),$(dir $(f)).$(notdir $(f)).cmd))
existing-targets := $(wildcard $(sort $(targets)))
  
- ifneq ($(cmd_files),)
-   include $(cmd_files)
- endif
+ -include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
  
  ifneq ($(KBUILD_SRC),)
  # Create directories for object files if they do not exist
  obj-dirs := $(sort $(obj) $(patsubst %/,%, $(dir $(targets))))
- # If cmd_files exist, their directories apparently exist.  Skip mkdir.
- exist-dirs := $(sort $(patsubst %/,%, $(dir $(cmd_files))))
- obj-dirs := $(strip $(filter-out $(exist-dirs), $(obj-dirs)))
+ # If targets exist, their directories apparently exist. Skip mkdir.
+ existing-dirs := $(sort $(patsubst %/,%, $(dir $(existing-targets))))
+ obj-dirs := $(strip $(filter-out $(existing-dirs), $(obj-dirs)))
  ifneq ($(obj-dirs),)
  $(shell mkdir -p $(obj-dirs))
  endif
  endif
  
- # Some files contained in $(targets) are intermediate artifacts.
- # We never want them to be removed automatically.
- .SECONDARY: $(targets)
  .PHONY: $(PHONY)
index 048179d8c07fc1646e446b7d4fa550b257dcb396,c36f19959619216e5e88059b3acf3f37d91ac540..35042d96cf5da42fb485d058b0a68083b878e5be
@@@ -36,12 -36,6 +36,12 @@@ ifdef CONFIG_GCC_PLUGIN_STACKLEA
  endif
  export DISABLE_STACKLEAK_PLUGIN
  
 +gcc-plugin-$(CONFIG_GCC_PLUGIN_ARM_SSP_PER_TASK) += arm_ssp_per_task_plugin.so
 +ifdef CONFIG_GCC_PLUGIN_ARM_SSP_PER_TASK
 +    DISABLE_ARM_SSP_PER_TASK_PLUGIN += -fplugin-arg-arm_ssp_per_task_plugin-disable
 +endif
 +export DISABLE_ARM_SSP_PER_TASK_PLUGIN
 +
  # All the plugin CFLAGS are collected here in case a build target needs to
  # filter them out of the KBUILD_CFLAGS.
  GCC_PLUGINS_CFLAGS := $(strip $(addprefix -fplugin=$(objtree)/scripts/gcc-plugins/, $(gcc-plugin-y)) $(gcc-plugin-cflags-y))
@@@ -55,11 -49,3 +55,3 @@@ KBUILD_CFLAGS += $(GCC_PLUGINS_CFLAGS
  # All enabled GCC plugins are collected here for building below.
  GCC_PLUGIN := $(gcc-plugin-y)
  export GCC_PLUGIN
- # Actually do the build, if requested.
- PHONY += gcc-plugins
- gcc-plugins: scripts_basic
- ifdef CONFIG_GCC_PLUGINS
-       $(Q)$(MAKE) $(build)=scripts/gcc-plugins
- endif
-       @:
diff --combined scripts/Makefile.lib
index 0e78249ee77e8ac7d67d834b8700858523957e95,ae3ae97f0d5e0c95fe5f67fe2204aede1c364d91..3ceaa2e2a6ced0298ca056c893d348eea4c08380
@@@ -61,11 -61,6 +61,11 @@@ real-obj-m := $(foreach m, $(obj-m), $(
  extra-y                               += $(dtb-y)
  extra-$(CONFIG_OF_ALL_DTBS)   += $(dtb-)
  
 +ifneq ($(CHECK_DTBS),)
 +extra-y += $(patsubst %.dtb,%.dt.yaml, $(dtb-y))
 +extra-$(CONFIG_OF_ALL_DTBS) += $(patsubst %.dtb,%.dt.yaml, $(dtb-))
 +endif
 +
  # Add subdir path
  
  extra-y               := $(addprefix $(obj)/,$(extra-y))
@@@ -256,7 -251,7 +256,7 @@@ DTC_FLAGS += -Wno-unit_address_vs_reg 
        -Wno-avoid_unnecessary_addr_size \
        -Wno-alias_paths \
        -Wno-graph_child_address \
 -      -Wno-graph_port \
 +      -Wno-simple_bus_reg \
        -Wno-unique_unit_address \
        -Wno-pci_device_reg
  endif
@@@ -289,28 -284,13 +289,28 @@@ $(obj)/%.dtb.S: $(obj)/%.dtb FORC
  quiet_cmd_dtc = DTC     $@
  cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
        $(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
 -      $(DTC) -O dtb -o $@ -b 0 \
 +      $(DTC) -O $(2) -o $@ -b 0 \
                $(addprefix -i,$(dir $<) $(DTC_INCLUDE)) $(DTC_FLAGS) \
                -d $(depfile).dtc.tmp $(dtc-tmp) ; \
        cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
  
  $(obj)/%.dtb: $(src)/%.dts $(DTC) FORCE
 -      $(call if_changed_dep,dtc)
 +      $(call if_changed_dep,dtc,dtb)
 +
 +DT_CHECKER ?= dt-validate
 +DT_BINDING_DIR := Documentation/devicetree/bindings
 +DT_TMP_SCHEMA := $(objtree)/$(DT_BINDING_DIR)/processed-schema.yaml
 +
 +quiet_cmd_dtb_check = CHECK   $@
 +      cmd_dtb_check = $(DT_CHECKER) -p $(DT_TMP_SCHEMA) $@ ;
 +
 +define rule_dtc_dt_yaml
 +      $(call cmd_and_fixdep,dtc,yaml)         \
 +      $(call echo-cmd,dtb_check) $(cmd_dtb_check)
 +endef
 +
 +$(obj)/%.dt.yaml: $(src)/%.dts $(DTC) $(DT_TMP_SCHEMA) FORCE
 +      $(call if_changed_rule,dtc_dt_yaml)
  
  dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
  
@@@ -426,7 -406,7 +426,7 @@@ ende
  # Use filechk to avoid rebuilds when a header changes, but the resulting file
  # does not
  define filechk_offsets
-       (set -e; \
+       ( \
         echo "#ifndef $2"; \
         echo "#define $2"; \
         echo "/*"; \
This page took 0.13662 seconds and 4 git commands to generate.