Merge tag 'kbuild-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 26 Feb 2023 19:53:25 +0000 (11:53 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 26 Feb 2023 19:53:25 +0000 (11:53 -0800)
Pull Kbuild updates from Masahiro Yamada:

 - Change V=1 option to print both short log and full command log

 - Allow V=1 and V=2 to be combined as V=12

 - Make W=1 detect wrong .gitignore files

 - Tree-wide cleanups for unused command line arguments passed to Clang

 - Stop using -Qunused-arguments with Clang

 - Make scripts/setlocalversion handle only correct release tags instead
   of any arbitrary annotated tag

 - Create Debian and RPM source packages without cleaning the source
   tree

 - Various cleanups for packaging

* tag 'kbuild-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (74 commits)
  kbuild: rpm-pkg: remove unneeded KERNELRELEASE from modules/headers_install
  docs: kbuild: remove description of KBUILD_LDS_MODULE
  .gitattributes: use 'dts' diff driver for *.dtso files
  kbuild: deb-pkg: improve the usability of source package
  kbuild: deb-pkg: fix binary-arch and clean in debian/rules
  kbuild: tar-pkg: use tar rules in scripts/Makefile.package
  kbuild: make perf-tar*-src-pkg work without relying on git
  kbuild: deb-pkg: switch over to source format 3.0 (quilt)
  kbuild: deb-pkg: make .orig tarball a hard link if possible
  kbuild: deb-pkg: hide KDEB_SOURCENAME from Makefile
  kbuild: srcrpm-pkg: create source package without cleaning
  kbuild: rpm-pkg: build binary packages from source rpm
  kbuild: deb-pkg: create source package without cleaning
  kbuild: add a tool to list files ignored by git
  Documentation/llvm: add Chimera Linux, Google and Meta datacenters
  setlocalversion: use only the correct release tag for git-describe
  setlocalversion: clean up the construction of version output
  .gitignore: ignore *.cover and *.mbx
  kbuild: remove --include-dir MAKEFLAG from top Makefile
  kbuild: fix trivial typo in comment
  ...

1  2 
MAINTAINERS
Makefile
arch/arm/mach-s3c/Makefile
arch/powerpc/Makefile
arch/powerpc/kernel/vdso/Makefile
drivers/Makefile
init/Kconfig
rust/Makefile
scripts/kernel-doc
scripts/tags.sh

diff --cc MAINTAINERS
Simple merge
diff --cc Makefile
Simple merge
@@@ -2,7 -2,13 +2,7 @@@
  #
  # Copyright 2009 Simtec Electronics
  
- include $(src)/Makefile.s3c64xx
 -ifdef CONFIG_ARCH_S3C24XX
 -include $(srctree)/$(src)/Makefile.s3c24xx
 -endif
 -
 -ifdef CONFIG_ARCH_S3C64XX
+ include $(srctree)/$(src)/Makefile.s3c64xx
 -endif
  
  # Objects we always build independent of SoC choice
  
Simple merge
@@@ -46,16 -51,19 +51,20 @@@ GCOV_PROFILE := 
  KCOV_INSTRUMENT := n
  UBSAN_SANITIZE := n
  KASAN_SANITIZE := n
 +KCSAN_SANITIZE := n
  
- ccflags-y := -shared -fno-common -fno-builtin -nostdlib -Wl,--hash-style=both
- ccflags-$(CONFIG_LD_IS_LLD) += $(call cc-option,--ld-path=$(LD),-fuse-ld=lld)
+ ccflags-y := -fno-common -fno-builtin
+ ldflags-y := -Wl,--hash-style=both -nostdlib -shared -z noexecstack
+ ldflags-$(CONFIG_LD_IS_LLD) += $(call cc-option,--ld-path=$(LD),-fuse-ld=lld)
+ # Filter flags that clang will warn are unused for linking
+ ldflags-y += $(filter-out $(CC_AUTO_VAR_INIT_ZERO_ENABLER) $(CC_FLAGS_FTRACE) -Wa$(comma)%, $(KBUILD_CFLAGS))
  
- CC32FLAGS := -Wl,-soname=linux-vdso32.so.1 -m32
- AS32FLAGS := -D__VDSO32__ -s
+ CC32FLAGS := -m32
+ LD32FLAGS := -Wl,-soname=linux-vdso32.so.1
+ AS32FLAGS := -D__VDSO32__
  
CC64FLAGS := -Wl,-soname=linux-vdso64.so.1
- AS64FLAGS := -D__VDSO64__ -s
LD64FLAGS := -Wl,-soname=linux-vdso64.so.1
+ AS64FLAGS := -D__VDSO64__
  
  targets += vdso32.lds
  CPPFLAGS_vdso32.lds += -P -C -Upowerpc
Simple merge
diff --cc init/Kconfig
Simple merge
diff --cc rust/Makefile
@@@ -360,24 -348,10 +349,24 @@@ rust-analyzer
        $(Q)$(srctree)/scripts/generate_rust_analyzer.py $(srctree) $(objtree) \
                $(RUST_LIB_SRC) > $(objtree)/rust-project.json
  
 +redirect-intrinsics = \
 +      __eqsf2 __gesf2 __lesf2 __nesf2 __unordsf2 \
 +      __unorddf2 \
 +      __muloti4 __multi3 \
 +      __udivmodti4 __udivti3 __umodti3
 +
 +ifneq ($(or $(CONFIG_ARM64),$(and $(CONFIG_RISCV),$(CONFIG_64BIT))),)
 +      # These intrinsics are defined for ARM64 and RISCV64
 +      redirect-intrinsics += \
 +              __ashrti3 \
 +              __ashlti3 __lshrti3
 +endif
 +
  $(obj)/core.o: private skip_clippy = 1
  $(obj)/core.o: private skip_flags = -Dunreachable_pub
 +$(obj)/core.o: private rustc_objcopy = $(foreach sym,$(redirect-intrinsics),--redefine-sym $(sym)=__rust$(sym))
  $(obj)/core.o: private rustc_target_flags = $(core-cfgs)
- $(obj)/core.o: $(RUST_LIB_SRC)/core/src/lib.rs $(obj)/target.json FORCE
+ $(obj)/core.o: $(RUST_LIB_SRC)/core/src/lib.rs scripts/target.json FORCE
        $(call if_changed_dep,rustc_library)
  
  $(obj)/compiler_builtins.o: private rustc_objcopy = -w -W '__*'
Simple merge
diff --cc scripts/tags.sh
Simple merge