forked from mirrors/linux
		
	 ad2885979e
			
		
	
	
		ad2885979e
		
	
	
	
	
		
			
			- Remove the deprecated rule to build *.dtbo from *.dts
 
  - Refactor section mismatch detection in modpost
 
  - Fix bogus ARM section mismatch detections
 
  - Fix error of 'make gtags' with O= option
 
  - Add Clang's target triple to KBUILD_CPPFLAGS to fix a build error with
    the latest LLVM version
 
  - Rebuild the built-in initrd when KBUILD_BUILD_TIMESTAMP is changed
 
  - Ignore more compiler-generated symbols for kallsyms
 
  - Fix 'make local*config' to handle the ${CONFIG_FOO} form in Makefiles
 
  - Enable more kernel-doc warnings with W=2
 
  - Refactor <linux/export.h> by generating KSYMTAB data by modpost
 
  - Deprecate <asm/export.h> and <asm-generic/export.h>
 
  - Remove the EXPORT_DATA_SYMBOL macro
 
  - Move the check for static EXPORT_SYMBOL back to modpost, which makes
    the build faster
 
  - Re-implement CONFIG_TRIM_UNUSED_KSYMS with one-pass algorithm
 
  - Warn missing MODULE_DESCRIPTION when building modules with W=1
 
  - Make 'make clean' robust against too long argument error
 
  - Exclude more objects from GCOV to fix CFI failures with GCOV
 
  - Allow 'make modules_install' to install modules.builtin and
    modules.builtin.modinfo even when CONFIG_MODULES is disabled
 
  - Include modules.builtin and modules.builtin.modinfo in the linux-image
    Debian package even when CONFIG_MODULES is disabled
 
  - Revive "Entering directory" logging for the latest Make version
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCgAzFiEEbmPs18K1szRHjPqEPYsBB53g2wYFAmSf6B0VHG1hc2FoaXJv
 eUBrZXJuZWwub3JnAAoJED2LAQed4NsGS2wP/1izzNJ/64XmQoyBDhZCbuOl7ODF
 n4wgVJnsJmRnD/RxXR/AZ0JZwQHhzpGISWQM61rVIf/RVFOB7Apx1HpmomKUUjrL
 Yc53wLfhTEizGgwttP6tusLM3RO6jkuMKhjC4rllc0tDLJ3zCcwAjSyiOQQ9PBcH
 txwAb8r4/TZUzDDCJ0d98WdhIsNDca/ISeRXKHMiIkfvHe+6yizDKu25Y4B6BL5g
 0VPJ9nVJZ+XVwRqdVR+UQoPYGZzZ/O2NqAtU7n4PpBKvFfLACILJW+aBDAz9SqN7
 RSxn1ahxwq0vrhlB9bSrQRj3N0g8zsi7/xShEZSnGLCbyxYilr5Gq8C59+QxOIJf
 5lGBwZlEgn5aWH+D9abwjEI/QOQbTI9kX09sVzweulGCN9iJlJqyIGsB0Ri0/S2R
 c/n7c8nLwnWnGF/+LXYvkrak8L9YRKori//YYf9zdvh4h1c2/0SS0nDoC29DhDru
 Am7YmhBAkJXXX3NUB2gLvtdp94GSumqefHeSJ5Sp9v/+f2Ft7ruY2ouJC81xDa4p
 nNpvolAq2txlZ9t5OU7x7DQiuCWYSws0W7PJ9FBhyHJchf21UHbcm97/HfDoU8rN
 ioLQGm+h+g6oZt8pArk45wccjkR3ydpEFDWenYbTEr2o3zLfeKigZps5uhCK3DW2
 gnVk50VNagkzrzvA
 =Rc1z
 -----END PGP SIGNATURE-----
Merge tag 'kbuild-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull Kbuild updates from Masahiro Yamada:
 - Remove the deprecated rule to build *.dtbo from *.dts
 - Refactor section mismatch detection in modpost
 - Fix bogus ARM section mismatch detections
 - Fix error of 'make gtags' with O= option
 - Add Clang's target triple to KBUILD_CPPFLAGS to fix a build error
   with the latest LLVM version
 - Rebuild the built-in initrd when KBUILD_BUILD_TIMESTAMP is changed
 - Ignore more compiler-generated symbols for kallsyms
 - Fix 'make local*config' to handle the ${CONFIG_FOO} form in Makefiles
 - Enable more kernel-doc warnings with W=2
 - Refactor <linux/export.h> by generating KSYMTAB data by modpost
 - Deprecate <asm/export.h> and <asm-generic/export.h>
 - Remove the EXPORT_DATA_SYMBOL macro
 - Move the check for static EXPORT_SYMBOL back to modpost, which makes
   the build faster
 - Re-implement CONFIG_TRIM_UNUSED_KSYMS with one-pass algorithm
 - Warn missing MODULE_DESCRIPTION when building modules with W=1
 - Make 'make clean' robust against too long argument error
 - Exclude more objects from GCOV to fix CFI failures with GCOV
 - Allow 'make modules_install' to install modules.builtin and
   modules.builtin.modinfo even when CONFIG_MODULES is disabled
 - Include modules.builtin and modules.builtin.modinfo in the
   linux-image Debian package even when CONFIG_MODULES is disabled
 - Revive "Entering directory" logging for the latest Make version
* tag 'kbuild-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (72 commits)
  modpost: define more R_ARM_* for old distributions
  kbuild: revive "Entering directory" for Make >= 4.4.1
  kbuild: set correct abs_srctree and abs_objtree for package builds
  scripts/mksysmap: Ignore prefixed KCFI symbols
  kbuild: deb-pkg: remove the CONFIG_MODULES check in buildeb
  kbuild: builddeb: always make modules_install, to install modules.builtin*
  modpost: continue even with unknown relocation type
  modpost: factor out Elf_Sym pointer calculation to section_rel()
  modpost: factor out inst location calculation to section_rel()
  kbuild: Disable GCOV for *.mod.o
  kbuild: Fix CFI failures with GCOV
  kbuild: make clean rule robust against too long argument error
  script: modpost: emit a warning when the description is missing
  kbuild: make modules_install copy modules.builtin(.modinfo)
  linux/export.h: rename 'sec' argument to 'license'
  modpost: show offset from symbol for section mismatch warnings
  modpost: merge two similar section mismatch warnings
  kbuild: implement CONFIG_TRIM_UNUSED_KSYMS without recursion
  modpost: use null string instead of NULL pointer for default namespace
  modpost: squash sym_update_namespace() into sym_add_exported()
  ...
		
	
			
		
			
				
	
	
		
			74 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| # SPDX-License-Identifier: GPL-2.0-only
 | |
| 
 | |
| # cc-cross-prefix
 | |
| # Usage: CROSS_COMPILE := $(call cc-cross-prefix, m68k-linux-gnu- m68k-linux-)
 | |
| # Return first <prefix> where a <prefix>gcc is found in PATH.
 | |
| # If no gcc found in PATH with listed prefixes return nothing
 | |
| #
 | |
| # Note: '2>/dev/null' is here to force Make to invoke a shell. Otherwise, it
 | |
| # would try to directly execute the shell builtin 'command'. This workaround
 | |
| # should be kept for a long time since this issue was fixed only after the
 | |
| # GNU Make 4.2.1 release.
 | |
| cc-cross-prefix = $(firstword $(foreach c, $(1), \
 | |
| 			$(if $(shell command -v -- $(c)gcc 2>/dev/null), $(c))))
 | |
| 
 | |
| # output directory for tests below
 | |
| TMPOUT = $(if $(KBUILD_EXTMOD),$(firstword $(KBUILD_EXTMOD))/).tmp_$$$$
 | |
| 
 | |
| # try-run
 | |
| # Usage: option = $(call try-run, $(CC)...-o "$$TMP",option-ok,otherwise)
 | |
| # Exit code chooses option. "$$TMP" serves as a temporary file and is
 | |
| # automatically cleaned up.
 | |
| try-run = $(shell set -e;		\
 | |
| 	TMP=$(TMPOUT)/tmp;		\
 | |
| 	trap "rm -rf $(TMPOUT)" EXIT;	\
 | |
| 	mkdir -p $(TMPOUT);		\
 | |
| 	if ($(1)) >/dev/null 2>&1;	\
 | |
| 	then echo "$(2)";		\
 | |
| 	else echo "$(3)";		\
 | |
| 	fi)
 | |
| 
 | |
| # as-option
 | |
| # Usage: aflags-y += $(call as-option,-Wa$(comma)-isa=foo,)
 | |
| 
 | |
| as-option = $(call try-run,\
 | |
| 	$(CC) -Werror $(KBUILD_CPPFLAGS) $(KBUILD_AFLAGS) $(1) -c -x assembler-with-cpp /dev/null -o "$$TMP",$(1),$(2))
 | |
| 
 | |
| # as-instr
 | |
| # Usage: aflags-y += $(call as-instr,instr,option1,option2)
 | |
| 
 | |
| as-instr = $(call try-run,\
 | |
| 	printf "%b\n" "$(1)" | $(CC) -Werror $(CLANG_FLAGS) $(KBUILD_AFLAGS) -c -x assembler-with-cpp -o "$$TMP" -,$(2),$(3))
 | |
| 
 | |
| # __cc-option
 | |
| # Usage: MY_CFLAGS += $(call __cc-option,$(CC),$(MY_CFLAGS),-march=winchip-c6,-march=i586)
 | |
| __cc-option = $(call try-run,\
 | |
| 	$(1) -Werror $(2) $(3) -c -x c /dev/null -o "$$TMP",$(3),$(4))
 | |
| 
 | |
| # cc-option
 | |
| # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586)
 | |
| 
 | |
| cc-option = $(call __cc-option, $(CC),\
 | |
| 	$(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS),$(1),$(2))
 | |
| 
 | |
| # cc-option-yn
 | |
| # Usage: flag := $(call cc-option-yn,-march=winchip-c6)
 | |
| cc-option-yn = $(call try-run,\
 | |
| 	$(CC) -Werror $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n)
 | |
| 
 | |
| # cc-disable-warning
 | |
| # Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable)
 | |
| cc-disable-warning = $(call try-run,\
 | |
| 	$(CC) -Werror $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
 | |
| 
 | |
| # gcc-min-version
 | |
| # Usage: cflags-$(call gcc-min-version, 70100) += -foo
 | |
| gcc-min-version = $(call test-ge, $(CONFIG_GCC_VERSION), $1)
 | |
| 
 | |
| # clang-min-version
 | |
| # Usage: cflags-$(call clang-min-version, 110000) += -foo
 | |
| clang-min-version = $(call test-ge, $(CONFIG_CLANG_VERSION), $1)
 | |
| 
 | |
| # ld-option
 | |
| # Usage: KBUILD_LDFLAGS += $(call ld-option, -X, -Y)
 | |
| ld-option = $(call try-run, $(LD) $(KBUILD_LDFLAGS) $(1) -v,$(1),$(2),$(3))
 |