All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masahiro Yamada <masahiroy@kernel.org>
To: linux-kbuild@vger.kernel.org
Cc: linux-kernel@vger.kernel.org,
	Nathan Chancellor <nathan@kernel.org>,
	Nick Desaulniers <ndesaulniers@google.com>,
	Nicolas Schier <nicolas@fjasle.eu>,
	Peter Zijlstra <peterz@infradead.org>,
	linux-modules@vger.kernel.org, llvm@lists.linux.dev,
	Ard Biesheuvel <ardb@kernel.org>,
	Sami Tolvanen <samitolvanen@google.com>,
	Masahiro Yamada <masahiroy@kernel.org>
Subject: [PATCH v6 00/10] kbuild: yet another series of cleanups (modpost, LTO, MODULE_REL_CRCS, export.h)
Date: Fri, 13 May 2022 20:39:20 +0900	[thread overview]
Message-ID: <20220513113930.10488-1-masahiroy@kernel.org> (raw)


This is the third batch of cleanups in this development cycle.



Changes in v6:
  - Fix false-positive warnings when CONFIG_TRIM_UNUSED_KSYMS=y

Changes in v5:
  - Fix the build error when CONFIG_DEBUG_INFO_BTF=y (reported by Nathan)
  - Clean up arch/m68k/include/asm/export.h (Nick)
  - Keep gen_symversions (and will be removed by a later patch)
  - Add more comments in the script

Changes in v4:
  - Rename .vmlinux-symver.c to .vmlinux.export.c
    because I notice this approach is useful for further cleanups,
    not only for modversioning but also for overall EXPORT_SYMBOL.
  - New patch
  - New.
    Resent of my previous submission.
    https://lore.kernel.org/all/20210831074004.3195284-10-masahiroy@kernel.org/
  - New
    Resent of my previous submission
    https://lore.kernel.org/linux-kbuild/20210831074004.3195284-11-masahiroy@kernel.org/

Changes in v3:
  - New patch

Changes in v2:
  - Simplify the implementation (parse .cmd files after ELF)
  - New patch
 - replace the chain of $(if ...) with $(and )
  - New patch
  - New patch

Masahiro Yamada (10):
  modpost: extract symbol versions from *.cmd files
  kbuild: link symbol CRCs at final link, removing
    CONFIG_MODULE_REL_CRCS
  kbuild: stop merging *.symversions
  genksyms: adjust the output format to modpost
  kbuild: do not create *.prelink.o for Clang LTO or IBT
  kbuild: check static EXPORT_SYMBOL* by script instead of modpost
  kbuild: make built-in.a rule robust against too long argument error
  kbuild: make *.mod rule robust against too long argument error
  kbuild: add cmd_and_savecmd macro
  kbuild: rebuild multi-object modules when objtool is updated

 arch/m68k/include/asm/Kbuild    |   1 +
 arch/m68k/include/asm/export.h  |   2 -
 arch/powerpc/Kconfig            |   1 -
 arch/s390/Kconfig               |   1 -
 arch/um/Kconfig                 |   1 -
 include/asm-generic/export.h    |  22 ++-
 include/linux/export-internal.h |  16 +++
 include/linux/export.h          |  30 ++--
 init/Kconfig                    |   4 -
 kernel/module.c                 |  10 +-
 scripts/Kbuild.include          |  10 +-
 scripts/Makefile.build          | 134 ++++++------------
 scripts/Makefile.lib            |   7 -
 scripts/Makefile.modfinal       |   5 +-
 scripts/Makefile.modpost        |   9 +-
 scripts/check-local-export      |  64 +++++++++
 scripts/genksyms/genksyms.c     |  18 +--
 scripts/link-vmlinux.sh         |  33 ++---
 scripts/mod/modpost.c           | 236 +++++++++++++++++++++-----------
 19 files changed, 320 insertions(+), 284 deletions(-)
 delete mode 100644 arch/m68k/include/asm/export.h
 create mode 100644 include/linux/export-internal.h
 create mode 100755 scripts/check-local-export

-- 
2.32.0


             reply	other threads:[~2022-05-13 11:49 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-13 11:39 Masahiro Yamada [this message]
2022-05-13 11:39 ` [PATCH v6 01/10] modpost: extract symbol versions from *.cmd files Masahiro Yamada
2022-05-28 22:47   ` Guenter Roeck
2022-05-29  4:27     ` Masahiro Yamada
2022-05-13 11:39 ` [PATCH v6 02/10] kbuild: link symbol CRCs at final link, removing CONFIG_MODULE_REL_CRCS Masahiro Yamada
2022-08-20 10:02   ` Build/boot problem with 7b4537199a4a (Re: [PATCH v6 02/10] kbuild: link symbol CRCs at final link, removing CONFIG_MODULE_REL_CRCS) Christophe Leroy
2022-08-20 10:02     ` Christophe Leroy
2022-08-20 12:05     ` Sedat Dilek
2022-08-20 12:05       ` Sedat Dilek
2022-08-20 14:10       ` Christophe Leroy
2022-08-20 14:10         ` Christophe Leroy
2022-08-20 12:51     ` Masahiro Yamada
2022-08-20 12:51       ` Masahiro Yamada
2022-08-20 14:15       ` Christophe Leroy
2022-08-20 14:15         ` Christophe Leroy
2022-08-20 17:01         ` Masahiro Yamada
2022-08-20 17:01           ` Masahiro Yamada
2022-08-20 17:51           ` Christophe Leroy
2022-08-20 17:51             ` Christophe Leroy
2022-05-13 11:39 ` [PATCH v6 03/10] kbuild: stop merging *.symversions Masahiro Yamada
2022-05-13 11:39 ` [PATCH v6 04/10] genksyms: adjust the output format to modpost Masahiro Yamada
2022-05-13 11:39 ` [PATCH v6 05/10] kbuild: do not create *.prelink.o for Clang LTO or IBT Masahiro Yamada
2022-05-13 11:39 ` [PATCH v6 06/10] kbuild: check static EXPORT_SYMBOL* by script instead of modpost Masahiro Yamada
2022-05-25  8:31   ` Guenter Roeck
2022-05-25 10:51     ` Masahiro Yamada
2022-06-07 14:22   ` Jon Hunter
2022-06-07 14:25     ` Nathan Chancellor
2022-06-07 14:34       ` Jon Hunter
2022-05-13 11:39 ` [PATCH v6 07/10] kbuild: make built-in.a rule robust against too long argument error Masahiro Yamada
2022-05-13 11:39 ` [PATCH v6 08/10] kbuild: make *.mod " Masahiro Yamada
2022-05-13 11:39 ` [PATCH v6 09/10] kbuild: add cmd_and_savecmd macro Masahiro Yamada
2022-05-13 11:39 ` [PATCH v6 10/10] kbuild: rebuild multi-object modules when objtool is updated Masahiro Yamada
2022-05-13 12:20 ` [PATCH v6 00/10] kbuild: yet another series of cleanups (modpost, LTO, MODULE_REL_CRCS, export.h) Masahiro Yamada
2022-05-22  1:44   ` Sedat Dilek
2022-05-22  6:49     ` Masahiro Yamada
2022-05-22  9:45       ` Sedat Dilek
2022-05-22 14:15         ` Sedat Dilek
2022-05-22 16:09           ` Masahiro Yamada
2022-05-22 16:18             ` Sedat Dilek
2022-05-22 22:34               ` Sedat Dilek
2022-08-05 23:20   ` matoro
2022-08-06  7:23     ` Sedat Dilek
2022-08-06 13:12       ` matoro
2022-08-08  5:54     ` Masahiro Yamada
2022-08-08 13:26       ` matoro
2022-08-08 17:36         ` Masahiro Yamada
2022-08-08 18:42           ` matoro
2022-08-09 15:20             ` Masahiro Yamada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220513113930.10488-1-masahiroy@kernel.org \
    --to=masahiroy@kernel.org \
    --cc=ardb@kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-modules@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=nicolas@fjasle.eu \
    --cc=peterz@infradead.org \
    --cc=samitolvanen@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.