On Mon, Jan 18, 2021 at 1:39 PM Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote: > > On Mon, Jan 18, 2021 at 3:32 AM Bill Wendling <morbo@xxxxxxxxxx> wrote: > > > > On Sun, Jan 17, 2021 at 4:27 PM Sedat Dilek <sedat.dilek@xxxxxxxxx> 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. > > > > Reproducible. > > LLVM_IAS=1 + DWARF5 = Not bootable > > I will try: > > LLVM_IAS=1 + DWARF4 > I was not able to boot into such a built Linux-kernel. For me worked: DWARF2 and LLVM_IAS=1 *not* set. Of course, this could be an issue with my system's LLVM/Clang. Debian clang version 12.0.0-++20210115111113+45ef053bd709-1~exp1~20210115101809.3724 Can you give me a LLVM commit-id where you had success with LLVM_IAS=1 and especially CONFIG_DEBUG_INFO_DWARF5=y? Success means I was able to boot in QEMU and/or bare metal. Thanks. Regards, - Sedat - > > > > 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 > > > > > Yes. > > > > > 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 >= > > 110000"). > > > > -bw