lkml.org 
[lkml]   [2022]   [Apr]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH 00/27] kbuild: yet another series of cleanups (modpost and LTO)
    Date
    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

    \
     
     \ /
      Last update: 2022-04-24 21:13    [W:5.452 / U:0.572 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site