This is the third batch of cleanups in this development cycle. Major changes in v2: - V1 did not work with CONFIG_MODULE_REL_CRCS. I fixed this for v2. - Reflect some review comments in v1 - Refactor the code more - Avoid too long argument error Masahiro Yamada (26): modpost: use bool type where appropriate modpost: change mod->gpl_compatible to bool type 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: 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: split new_symbol() to symbol allocation and hash table addition 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: extract symbol versions from *.cmd files modpost: generate linker script to collect symbol versions kbuild: embed symbol versions at final link of vmlinux or modules kbuild: stop merging *.symversions genksyms: adjust the output format for .cmd files kbuild: do not create *.prelink.o for Clang LTO or IBT kbuild: make built-in.a rule robust against too long argument error kbuild: make *.mod rule robust against too long argument error modpost: simplify the ->is_static initialization modpost: use hlist for hash table implementation .gitignore | 1 + Makefile | 1 + scripts/Kbuild.include | 4 + scripts/Makefile.build | 118 +++------ scripts/Makefile.lib | 7 - scripts/Makefile.modfinal | 6 +- scripts/Makefile.modpost | 10 +- scripts/genksyms/genksyms.c | 17 +- scripts/link-vmlinux.sh | 34 +-- scripts/mod/file2alias.c | 2 - scripts/mod/list.h | 265 +++++++++++++++++++ scripts/mod/modpost.c | 501 ++++++++++++++++++++++-------------- scripts/mod/modpost.h | 24 +- scripts/mod/sumversion.c | 8 +- 14 files changed, 650 insertions(+), 348 deletions(-) create mode 100644 scripts/mod/list.h -- 2.32.0