lkml.org 
[lkml]   [2020]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 00/22] add support for Clang LTO
    On Tue, Jul 14, 2020 at 2:16 PM Paul Menzel <pmenzel@molgen.mpg.de> wrote:
    >
    > Dear Sami,
    >
    >
    > Am 13.07.20 um 01:34 schrieb Sami Tolvanen:
    > > On Sat, Jul 11, 2020 at 9:32 AM Paul Menzel <pmenzel@molgen.mpg.de> 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?

    Can you post your linux-config?

    Thanks.

    - Sedat -

    \
     
     \ /
      Last update: 2020-07-14 14:37    [W:4.145 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site