On Fri, Feb 26, 2021 at 11:02 AM Sedat Dilek wrote: > > On Fri, Feb 26, 2021 at 10:51 AM Arnd Bergmann wrote: > > > > On Fri, Feb 26, 2021 at 10:05 AM Sedat Dilek wrote: > > > On Fri, Feb 26, 2021 at 9:14 AM Arnd Bergmann wrote: > > > > > > > > BTW, is CONFIG_LD_DEAD_CODE_DATA_ELIMINATION=y setable for x86 (64bit)? > > > > > ( Did not look or check for it. ) > > > > > > > > No, in mainline, HAVE_LD_DEAD_CODE_DATA_ELIMINATION is currently > > > > only selected on MIPS and PowerPC. I only sent experimental patches to > > > > enable it on arm64 and m68k, but have not tried booting them. If you > > > > select the symbol on x86, you should see similar results. > > > > > > > > > > OK, i see: > > > > > > $ git grep HAVE_LD_DEAD_CODE_DATA_ELIMINATION arch/mips/ > > > arch/mips/Kconfig: select HAVE_LD_DEAD_CODE_DATA_ELIMINATION > > > > > > $ git grep HAVE_LD_DEAD_CODE_DATA_ELIMINATION arch/powerpc/ > > > arch/powerpc/Kconfig: select HAVE_LD_DEAD_CODE_DATA_ELIMINATION > > > > > > So, I need to add this to arch/x86/Kconfig. > > > > > > You happen to know if changes to arch/x86/kernel/vmlinux.lds.S > > > (sections) are needed? > > > > No idea. I'm still debugging a possible regression on arm64, but both > > issues I found for arm64 are specific to that architecture and won't > > happen on x86. It's likely that something else breaks though. > > > > My first experiences with gc were with the freetz project (mips > embedded router) and don't ask me what GCC version. > > I will try with gc + trim + cfi later after my current build has finished. > > > > Last question: > > > The last days I see a lot of fixes touching inlining with LLVM/Clang v13-git. > > > What git tag are you using? > > > What are your experiences? > > > Pending patches (kernel-side)? > > > > > > I use: > > > $ /opt/llvm-toolchain/bin/clang --version > > > dileks clang version 13.0.0 (https://github.com/llvm/llvm-project.git > > > c465429f286f50e52a8d2b3b39f38344f3381cce) > > > > This is what I have on the build box: > > Ubuntu clang version > > 13.0.0-++20210223104451+ebca13c66504-1~exp1~20210223095200.234 > > > > Distro-clang takes much longer here. > Selfmade stage1-only LLVM toolchain compiles here 10% faster. > cfi takes approx. 20% longer. > With trim + gc I suppose it will take much longer. > > Let me test. > Will report later. > With the attached patch and diff (some modules need whitelisted symbols) I was able to compile an x86-64 Linux-kernel. It does not boot on bare metal. If someone wants to play with it. - Sedat -