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. 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 .gitignore | 1 + Makefile | 1 + scripts/Kbuild.include | 4 + scripts/Makefile.build | 107 ++------ scripts/Makefile.lib | 7 - scripts/Makefile.modfinal | 6 +- scripts/Makefile.modpost | 9 +- scripts/link-vmlinux.sh | 38 ++- scripts/mod/file2alias.c | 2 - scripts/mod/list.h | 336 ++++++++++++++++++++++++ scripts/mod/modpost.c | 529 +++++++++++++++++++++++--------------- scripts/mod/modpost.h | 27 +- 12 files changed, 731 insertions(+), 336 deletions(-) create mode 100644 scripts/mod/list.h -- 2.32.0