On Wed, Apr 27, 2022 at 12:18 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > On Wed, Apr 27, 2022 at 5:11 AM Nicolas Schier <nicolas@xxxxxxxxx> wrote: > > > > On Mon, Apr 25, 2022 at 04:07:44AM +0900 Masahiro Yamada wrote: > > > This is the third batch of cleanups in this development cycle. > > > > > > This weekend, I wrote up the code I have been planning. > > > > > > After a bunch of modpost refactoring, I got rid of the ugly code > > > in Makefiles. > > > > > > With this, Kbuild will get back much simpler and cleaner. > > > > > > > Hi Masahiro, > > > > I tried applying the patch set onto your kbuild and > > kbuild-fixes-v5.18, but it didn't apply. Can you give me > > a hint on your commit base? > > > This series is based on linux-kbuild/kbuild branch > 7c39c50dcb74 ("scripts: dummy-tools, add pahole") > > > Anyway, this series is too big. > For convenience, I pushed this to a topic branch. > > Please try: > > git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git > lto-cleanup > > > > > > > Kind regards, > > Nicolas > > > > > > > > Masahiro Yamada (27): > > > modpost: use snprintf() instead of sprintf() for safety > > > modpost: do not write out any file when error occurred > > > modpost: remove stale comment about sym_add_exported() > > > modpost: add a separate error for exported symbols without definition > > > modpost: retrieve the module dependency and CRCs in check_exports() > > > modpost: use bool type where appropriate > > > modpost: import include/linux/list.h > > > modpost: traverse modules in order > > > modpost: add sym_add_unresolved() helper > > > modpost: traverse unresolved symbols in order > > > modpost: use doubly linked list for dump_lists > > > modpost: move struct namespace_list to modpost.c > > > modpost: traverse the namespace_list in order > > > modpost: dump Module.symvers in the same order of modules.order > > > modpost: move static EXPORT_SYMBOL check to check_exports() > > > modpost: make multiple export error > > > modpost: make sym_add_exported() always allocate a new symbol > > > modpost: make sym_add_exported() a void function > > > modpost: use hlist for hash table implementation > > > modpost: mitigate false-negatives for static EXPORT_SYMBOL checks > > > kbuild: record symbol versions in *.cmd files > > > kbuild: generate a list of objects in vmlinux > > > modpost: retrieve symbol versions by parsing *.cmd files > > > modpost: generate linker script to collect symbol versions > > > kbuild: embed symbol versions at final link of vmlinux or modules > > > kbuild: stop generating *.symversions > > > kbuild: do not create *.prelink.o for Clang LTO or IBT 01-05 and 12 applied. I will send v2 for the rest. -- Best Regards Masahiro Yamada