kbuild: lto: fix module versioning
With CONFIG_MODVERSIONS, version information is linked into each compilation unit that exports symbols. With LTO, we cannot use this method as all C code is compiled into LLVM bitcode instead. This change collects symbol versions into .symversions files and merges them in link-vmlinux.sh where they are all linked into vmlinux.o at the same time. Signed-off-by:Sami Tolvanen <samitolvanen@google.com> Reviewed-by:
Kees Cook <keescook@chromium.org> Signed-off-by:
Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/20201211184633.3213045-4-samitolvanen@google.com
Showing
- .gitignore 1 addition, 0 deletions.gitignore
- Makefile 2 additions, 1 deletionMakefile
- arch/Kconfig 0 additions, 1 deletionarch/Kconfig
- scripts/Makefile.build 31 additions, 2 deletionsscripts/Makefile.build
- scripts/Makefile.modpost 5 additions, 1 deletionscripts/Makefile.modpost
- scripts/link-vmlinux.sh 22 additions, 1 deletionscripts/link-vmlinux.sh
Loading
Please register or sign in to comment