All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Desaulniers <ndesaulniers@google.com>
To: Nathan Chancellor <nathan@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
	<x86@kernel.org>, Sami Tolvanen <samitolvanen@google.com>,
	Kees Cook <keescook@chromium.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	LKML <linux-kernel@vger.kernel.org>,
	clang-built-linux <clang-built-linux@googlegroups.com>
Subject: Re: [PATCH] x86: Enable clang LTO for 32-bit as well
Date: Fri, 30 Apr 2021 13:58:57 -0700	[thread overview]
Message-ID: <CAKwvOdngd5inT_sQP-PgqaMpVzfSdwoyhCcUSdS+09u=PKUEyA@mail.gmail.com> (raw)
In-Reply-To: <20210429232611.3966964-1-nathan@kernel.org>

On Thu, Apr 29, 2021 at 4:26 PM Nathan Chancellor <nathan@kernel.org> wrote:
>
> Commit b33fff07e3e3 ("x86, build: allow LTO to be selected") enabled
> support for LTO for x86_64 but 32-bit works fine as well.
>
> I tested the following config combinations:
>
> * i386_defconfig + CONFIG_LTO_CLANG_FULL=y
>
> * i386_defconfig + CONFIG_LTO_CLANG_THIN=y
>
> * ARCH=i386 allmodconfig + CONFIG_LTO_CLANG_THIN=y

For allmodconfig
HAS_LTO_CLANG cannot be selected unless
FTRACE
GCOV_KERNEL
are disabled.

I was able to run through similar tests, though I only did so for ToT LLVM.

Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>

I additionally tried full LTO allmodconfig.  Full LTO allmodconfig can
be tested by disabling CONFIG_COMPILE_TEST (in addition to the above),
though I hit https://github.com/ClangBuiltLinux/linux/issues/1215 (the
xfs tests aren't building under LTO).  I think this change though is
fine, and enables another avenue to help us debug that failure.

>
> with LLVM 11.1.0, 12.0.0, and 13.0.0 from git without any build
> failures. The defconfigs boot in QEMU with no new warnings.
>
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>
> ---
>  arch/x86/Kconfig | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 0fc82237414d..d8a919d9535e 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -97,8 +97,8 @@ config X86
>         select ARCH_SUPPORTS_DEBUG_PAGEALLOC
>         select ARCH_SUPPORTS_NUMA_BALANCING     if X86_64
>         select ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP       if NR_CPUS <= 4096
> -       select ARCH_SUPPORTS_LTO_CLANG          if X86_64
> -       select ARCH_SUPPORTS_LTO_CLANG_THIN     if X86_64
> +       select ARCH_SUPPORTS_LTO_CLANG
> +       select ARCH_SUPPORTS_LTO_CLANG_THIN
>         select ARCH_USE_BUILTIN_BSWAP
>         select ARCH_USE_QUEUED_RWLOCKS
>         select ARCH_USE_QUEUED_SPINLOCKS
>
> base-commit: d8201efe75e13146ebde433745c7920e15593baf
> --
> 2.31.1.362.g311531c9de
>


-- 
Thanks,
~Nick Desaulniers

  reply	other threads:[~2021-04-30 20:59 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-29 23:26 [PATCH] x86: Enable clang LTO for 32-bit as well Nathan Chancellor
2021-04-30 20:58 ` Nick Desaulniers [this message]
2021-04-30 23:04   ` Kees Cook
2021-06-10 17:11 ` Kees Cook

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKwvOdngd5inT_sQP-PgqaMpVzfSdwoyhCcUSdS+09u=PKUEyA@mail.gmail.com' \
    --to=ndesaulniers@google.com \
    --cc=bp@alien8.de \
    --cc=clang-built-linux@googlegroups.com \
    --cc=hpa@zytor.com \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=nathan@kernel.org \
    --cc=samitolvanen@google.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.