lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sun, 17 Jan 2021 18:32:25 -0800
From:   Bill Wendling <>
To:     Sedat Dilek <>
Cc:     Jonathan Corbet <>,
        Masahiro Yamada <>,
        Linux Doc Mailing List <>,
        LKML <>,
        Linux Kbuild mailing list <>,
        Clang-Built-Linux ML <>,
        Andrew Morton <>,
        Nathan Chancellor <>,
        Nick Desaulniers <>,
        Sami Tolvanen <>,
        Fangrui Song <>
Subject: Re: [PATCH v5] pgo: add clang's Profile Guided Optimization infrastructure

On Sun, Jan 17, 2021 at 4:27 PM Sedat Dilek <> wrote:
> [ big snip ]

[More snippage.]

> [ CC Fangrui ]
> With the attached...
>    [PATCH v3] module: Ignore _GLOBAL_OFFSET_TABLE_ when warning for
> undefined symbols
> ...I was finally able to boot into a rebuild PGO-optimized Linux-kernel.
> For details see ClangBuiltLinux issue #1250 "Unknown symbol
> _GLOBAL_OFFSET_TABLE_ loading kernel modules".
Thanks for confirming that this works with the above patch.

> @ Bill Nick Sami Nathan
> 1, Can you say something of the impact passing "LLVM_IAS=1" to make?

The integrated assembler and this option are more-or-less orthogonal
to each other. One can still use the GNU assembler with PGO. If you're
having an issue, it may be related to ClangBuiltLinux issue #1250.

> 2. Can you please try Nick's DWARF v5 support patchset v5 and
> CONFIG_DEBUG_INFO_DWARF5=y (see attachments)?
I know Nick did several tests with PGO. He may have looked into it
already, but we can check.

> I would like to know what the impact of the Clang's Integrated
> Assembler and DWARF v5 are.
> I dropped both means...
> 1. Do not pass "LLVM_IAS=1" to make.
> 2. Use default DWARF v2 (with Nick's patchset: CONFIG_DEBUG_INFO_DWARF2=y).
> ...for a successfull build and boot on bare metal.

[Next message]

> On each rebuild I need to pass to make ...?
>   LLVM=1 -fprofile-use=vmlinux.profdata

> Did you try together with passing LLVM_IAS=1 to make?

One of my tests was with the integrated assembler enabled. Are you
finding issues with it?

The problem with using top-of-tree clang is that it's not necessarily
stable. You could try using the clang 11.x release (changing the
"CLANG_VERSION >= 120000" in kernel/pgo/Kconfig/ to "CLANG_VERSION >=


Powered by blists - more mailing lists