All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nathan Chancellor <nathan@kernel.org>
To: Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Nick Desaulniers <ndesaulniers@google.com>,
	linux-kernel@vger.kernel.org, clang-built-linux@googlegroups.com,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] arm64: Make CPU_BIG_ENDIAN depend on !LD_IS_LLD
Date: Sat, 6 Feb 2021 19:30:41 -0700	[thread overview]
Message-ID: <20210207023041.GA655027@ubuntu-m3-large-x86> (raw)
In-Reply-To: <20210202022441.1451389-1-nathan@kernel.org>

On Mon, Feb 01, 2021 at 07:24:42PM -0700, Nathan Chancellor wrote:
> Similar to commit 28187dc8ebd9 ("ARM: 9025/1: Kconfig: CPU_BIG_ENDIAN
> depends on !LD_IS_LLD"), ld.lld does not support aarch64 big endian,
> leading to the following build error when CONFIG_CPU_BIG_ENDIAN is
> selected:
> 
> ld.lld: error: unknown emulation: aarch64linuxb
> 
> There are not currently plans to implement big endian support for
> aarch64 in ld.lld but if it should be supported in the future, this
> symbol can depend on the version that first supports it. In the
> meantime, prevent this symbol from being selected to avoid these type
> of build errors.
> 
> While we are here, the indentation of this symbol used spaces since its
> introduction in commit a872013d6d03 ("arm64: kconfig: allow
> CPU_BIG_ENDIAN to be selected"). Change it to tabs to be consistent with
> kernel coding style.
> 
> Link: https://github.com/ClangBuiltLinux/linux/issues/380
> Link: https://github.com/ClangBuiltLinux/linux/issues/1288
> Reported-by: Arnd Bergmann <arnd@arndb.de>
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>

Fangrui has pushed proper aarch64linuxb and elf64-bigaarch64 for ld.lld:

https://reviews.llvm.org/D96211
https://reviews.llvm.org/D96188

This patch is needed for OUTPUT_FORMAT in the vDSO to work properly:

https://reviews.llvm.org/D96214

Once these are all merged into LLVM 13, I will update this to be:

depends on !LD_IS_LLD || LLD_VERSION >= 130000

Cheers,
Nathan

> ---
>  arch/arm64/Kconfig | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index f39568b28ec1..5ddf9fe7b4ee 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -952,8 +952,9 @@ choice
>  	  that is selected here.
>  
>  config CPU_BIG_ENDIAN
> -       bool "Build big-endian kernel"
> -       help
> +	bool "Build big-endian kernel"
> +	depends on !LD_IS_LLD
> +	help
>  	  Say Y if you plan on running a kernel with a big-endian userspace.
>  
>  config CPU_LITTLE_ENDIAN
> 
> base-commit: 88bb507a74ea7d75fa49edd421eaa710a7d80598
> -- 
> 2.30.0
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Nathan Chancellor <nathan@kernel.org>
To: Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org,
	clang-built-linux@googlegroups.com,
	Nick Desaulniers <ndesaulniers@google.com>,
	linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>
Subject: Re: [PATCH] arm64: Make CPU_BIG_ENDIAN depend on !LD_IS_LLD
Date: Sat, 6 Feb 2021 19:30:41 -0700	[thread overview]
Message-ID: <20210207023041.GA655027@ubuntu-m3-large-x86> (raw)
In-Reply-To: <20210202022441.1451389-1-nathan@kernel.org>

On Mon, Feb 01, 2021 at 07:24:42PM -0700, Nathan Chancellor wrote:
> Similar to commit 28187dc8ebd9 ("ARM: 9025/1: Kconfig: CPU_BIG_ENDIAN
> depends on !LD_IS_LLD"), ld.lld does not support aarch64 big endian,
> leading to the following build error when CONFIG_CPU_BIG_ENDIAN is
> selected:
> 
> ld.lld: error: unknown emulation: aarch64linuxb
> 
> There are not currently plans to implement big endian support for
> aarch64 in ld.lld but if it should be supported in the future, this
> symbol can depend on the version that first supports it. In the
> meantime, prevent this symbol from being selected to avoid these type
> of build errors.
> 
> While we are here, the indentation of this symbol used spaces since its
> introduction in commit a872013d6d03 ("arm64: kconfig: allow
> CPU_BIG_ENDIAN to be selected"). Change it to tabs to be consistent with
> kernel coding style.
> 
> Link: https://github.com/ClangBuiltLinux/linux/issues/380
> Link: https://github.com/ClangBuiltLinux/linux/issues/1288
> Reported-by: Arnd Bergmann <arnd@arndb.de>
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>

Fangrui has pushed proper aarch64linuxb and elf64-bigaarch64 for ld.lld:

https://reviews.llvm.org/D96211
https://reviews.llvm.org/D96188

This patch is needed for OUTPUT_FORMAT in the vDSO to work properly:

https://reviews.llvm.org/D96214

Once these are all merged into LLVM 13, I will update this to be:

depends on !LD_IS_LLD || LLD_VERSION >= 130000

Cheers,
Nathan

> ---
>  arch/arm64/Kconfig | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index f39568b28ec1..5ddf9fe7b4ee 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -952,8 +952,9 @@ choice
>  	  that is selected here.
>  
>  config CPU_BIG_ENDIAN
> -       bool "Build big-endian kernel"
> -       help
> +	bool "Build big-endian kernel"
> +	depends on !LD_IS_LLD
> +	help
>  	  Say Y if you plan on running a kernel with a big-endian userspace.
>  
>  config CPU_LITTLE_ENDIAN
> 
> base-commit: 88bb507a74ea7d75fa49edd421eaa710a7d80598
> -- 
> 2.30.0
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2021-02-07  2:31 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-02  2:24 [PATCH] arm64: Make CPU_BIG_ENDIAN depend on !LD_IS_LLD Nathan Chancellor
2021-02-02  2:24 ` Nathan Chancellor
2021-02-02  8:04 ` Arnd Bergmann
2021-02-02  8:04   ` Arnd Bergmann
2021-02-02 19:51   ` Nathan Chancellor
2021-02-02 19:51     ` Nathan Chancellor
2021-02-02 20:43     ` Arnd Bergmann
2021-02-02 20:43       ` Arnd Bergmann
2021-02-03 10:08       ` Peter Smith
2021-02-03 10:08         ` Peter Smith
2021-02-07  2:30 ` Nathan Chancellor [this message]
2021-02-07  2:30   ` Nathan Chancellor
2021-02-09  0:57 ` [PATCH v2] arm64: Make CPU_BIG_ENDIAN depend on ld.bfd or ld.lld 13.0.0+ Nathan Chancellor
2021-02-09  0:57   ` Nathan Chancellor
2021-02-09  1:39   ` Nick Desaulniers
2021-02-09  1:39     ` Nick Desaulniers
2021-02-09 14:35   ` Will Deacon
2021-02-09 14:35     ` Will Deacon

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=20210207023041.GA655027@ubuntu-m3-large-x86 \
    --to=nathan@kernel.org \
    --cc=arnd@arndb.de \
    --cc=catalin.marinas@arm.com \
    --cc=clang-built-linux@googlegroups.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=will@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.