Dear Sedat, Am 14.07.20 um 14:35 schrieb Sedat Dilek: > On Tue, Jul 14, 2020 at 2:16 PM Paul Menzel wrote: >> Am 13.07.20 um 01:34 schrieb Sami Tolvanen: >>> On Sat, Jul 11, 2020 at 9:32 AM Paul Menzel wrote: >>>> Thank you very much for sending these changes. >>>> >>>> Do you have a branch, where your current work can be pulled from? Your >>>> branch on GitHub [1] seems 15 months old. >>> >>> The clang-lto branch is rebased regularly on top of Linus' tree. >>> GitHub just looks at the commit date of the last commit in the tree, >>> which isn't all that informative. >> >> Thank you for clearing this up, and sorry for not checking myself. >> >>>> Out of curiosity, I applied the changes, allowed the selection for i386 >>>> (x86), and with Clang 1:11~++20200701093119+ffee8040534-1~exp1 from >>>> Debian experimental, it failed with `Invalid absolute R_386_32 >>>> relocation: KERNEL_PAGES`: >>> >>> I haven't looked at getting this to work on i386, which is why we only >>> select ARCH_SUPPORTS_LTO for x86_64. I would expect there to be a few >>> issues to address. >>> >>>>> arch/x86/tools/relocs vmlinux > arch/x86/boot/compressed/vmlinux.relocs;arch/x86/tools/relocs --abs-relocs vmlinux >>>>> Invalid absolute R_386_32 relocation: KERNEL_PAGES >>> >>> KERNEL_PAGES looks like a constant, so it's probably safe to ignore >>> the absolute relocation in tools/relocs.c. >> >> Thank you for pointing me to the right direction. I am happy to report, >> that with the diff below (no idea to what list to add the string), Linux >> 5.8-rc5 with the LLVM/Clang/LTO patches on top, builds and boots on the >> ASRock E350M1. >> >> ``` >> diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c >> index 8f3bf34840cef..e91af127ed3c0 100644 >> --- a/arch/x86/tools/relocs.c >> +++ b/arch/x86/tools/relocs.c >> @@ -79,6 +79,7 @@ static const char * const >> sym_regex_kernel[S_NSYMTYPES] = { >> "__end_rodata_hpage_align|" >> #endif >> "__vvar_page|" >> + "KERNEL_PAGES|" >> "_end)$" >> }; >> ``` > > What llvm-toolchain and version did you use? See above. ;-) Clang 1:11~++20200701093119+ffee8040534-1~exp1 from Debian experimental and the build command below. make bindeb-pkg -j32 ARCH=i386 LLVM=1 > Can you post your linux-config? Sure. Attached. $ grep _LTO config-5.8.0-rc5-00107-g5b634a79fc2fa CONFIG_LTO=y CONFIG_ARCH_SUPPORTS_LTO_CLANG=y # CONFIG_LTO_NONE is not set CONFIG_LTO_CLANG=y Kind regards, Paul