Commit 393ed5d8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'kbuild-fixes-v5.19-2' of...

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

Pull Kbuild fixes from Masahiro Yamada:

 - Fix modpost to detect EXPORT_SYMBOL marked as __init or__exit

 - Update the supported arch list in the LLVM document

 - Avoid the second link of vmlinux for CONFIG_TRIM_UNUSED_KSYMS

 - Avoid false __KSYM___this_module define in include/generated/autoksyms.h

* tag 'kbuild-fixes-v5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
  kbuild: Ignore __this_module in gen_autoksyms.sh
  kbuild: link vmlinux only once for CONFIG_TRIM_UNUSED_KSYMS (2nd attempt)
  Documentation/llvm: Update Supported Arch table
  modpost: fix section mismatch check for exported init/exit sections
parents 97d4d026 ff139766
Loading
Loading
Loading
Loading
+8 −2
Original line number Original line Diff line number Diff line
@@ -129,18 +129,24 @@ yet. Bug reports are always welcome at the issue tracker below!
   * - arm64
   * - arm64
     - Supported
     - Supported
     - ``LLVM=1``
     - ``LLVM=1``
   * - hexagon
     - Maintained
     - ``LLVM=1``
   * - mips
   * - mips
     - Maintained
     - Maintained
     - ``CC=clang``
     - ``LLVM=1``
   * - powerpc
   * - powerpc
     - Maintained
     - Maintained
     - ``CC=clang``
     - ``CC=clang``
   * - riscv
   * - riscv
     - Maintained
     - Maintained
     - ``CC=clang``
     - ``LLVM=1``
   * - s390
   * - s390
     - Maintained
     - Maintained
     - ``CC=clang``
     - ``CC=clang``
   * - um (User Mode)
     - Maintained
     - ``LLVM=1``
   * - x86
   * - x86
     - Supported
     - Supported
     - ``LLVM=1``
     - ``LLVM=1``
+1 −1
Original line number Original line Diff line number Diff line
@@ -1141,7 +1141,7 @@ KBUILD_MODULES := 1


autoksyms_recursive: descend modules.order
autoksyms_recursive: descend modules.order
	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \
	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \
	  "$(MAKE) -f $(srctree)/Makefile vmlinux"
	  "$(MAKE) -f $(srctree)/Makefile autoksyms_recursive"
endif
endif


autoksyms_h := $(if $(CONFIG_TRIM_UNUSED_KSYMS), include/generated/autoksyms.h)
autoksyms_h := $(if $(CONFIG_TRIM_UNUSED_KSYMS), include/generated/autoksyms.h)
+3 −0
Original line number Original line Diff line number Diff line
@@ -56,4 +56,7 @@ EOT
# point addresses.
# point addresses.
sed -e 's/^\.//' |
sed -e 's/^\.//' |
sort -u |
sort -u |
# Ignore __this_module. It's not an exported symbol, and will be resolved
# when the final .ko's are linked.
grep -v '^__this_module$' |
sed -e 's/\(.*\)/#define __KSYM_\1 1/' >> "$output_file"
sed -e 's/\(.*\)/#define __KSYM_\1 1/' >> "$output_file"
+1 −1
Original line number Original line Diff line number Diff line
@@ -980,7 +980,7 @@ static const struct sectioncheck sectioncheck[] = {
},
},
/* Do not export init/exit functions or data */
/* Do not export init/exit functions or data */
{
{
	.fromsec = { "__ksymtab*", NULL },
	.fromsec = { "___ksymtab*", NULL },
	.bad_tosec = { INIT_SECTIONS, EXIT_SECTIONS, NULL },
	.bad_tosec = { INIT_SECTIONS, EXIT_SECTIONS, NULL },
	.mismatch = EXPORT_TO_INIT_EXIT,
	.mismatch = EXPORT_TO_INIT_EXIT,
	.symbol_white_list = { DEFAULT_SYMBOL_WHITE_LIST, NULL },
	.symbol_white_list = { DEFAULT_SYMBOL_WHITE_LIST, NULL },