# \[PATCH\] powerpc: Kconfig: disable CONFIG\_COMPAT for clang \< 12

- Subsystems: LINUX FOR POWERPC (32-BIT AND 64-BIT), THE REST
- Maintainers: Madhavan Srinivasan, Linus Torvalds
- Status: LANDED (6fcb574125e6 · 2021-05-23 10:51)
- Landed in mainline as 6fcb574125e6 on 2021-05-23.
- List: linuxppc-dev
- 3 messages, 3 authors
- Page: https://ratatoskr.run/linuxppc-dev/2021/05/1382601/t

## \[PATCH\] powerpc: Kconfig: disable CONFIG\_COMPAT for clang \< 12

- From: Nick Desaulniers \<ndesaulniers@google.com\>
- Date: 2021-05-18 20:59:06 
- Message: https://ratatoskr.run/linuxppc-dev/2021/05/1382601.md

```text
Until clang-12, clang would attempt to assemble 32b powerpc assembler in
64b emulation mode when using a 64b target triple with -m32, leading to
errors during the build of the compat VDSO. Simply disable all of
CONFIG_COMPAT; users should upgrade to the latest release of clang for
proper support.

Link: https://github.com/ClangBuiltLinux/linux/issues/1160
Link: https://github.com/llvm/llvm-project/commits/2288319733cd5f525bf7e24dece08bfcf9d0ff9e
Link: https://groups.google.com/g/clang-built-linux/c/ayNmi3HoNdY/m/XJAGj_G2AgAJ
Suggested-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
 arch/powerpc/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index ce3f59531b51..2a02784b7ef0 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -289,6 +289,7 @@ config PANIC_TIMEOUT
 config COMPAT
 	bool "Enable support for 32bit binaries"
 	depends on PPC64
+	depends on !CC_IS_CLANG || CLANG_VERSION >= 120000
 	default y if !CPU_LITTLE_ENDIAN
 	select ARCH_WANT_OLD_COMPAT_IPC
 	select COMPAT_OLD_SIGACTION
-- 
2.31.1.751.gd2f1c929bd-goog

```

## Re: \[PATCH\] powerpc: Kconfig: disable CONFIG\_COMPAT for clang \< 12

- From: Nathan Chancellor \<nathan@kernel.org\>
- Date: 2021-05-18 21:13:01 
- Message: https://ratatoskr.run/linuxppc-dev/2021/05/1382612.md

```text
On 5/18/2021 1:58 PM, Nick Desaulniers wrote:
> Until clang-12, clang would attempt to assemble 32b powerpc assembler in
> 64b emulation mode when using a 64b target triple with -m32, leading to
> errors during the build of the compat VDSO. Simply disable all of
> CONFIG_COMPAT; users should upgrade to the latest release of clang for
> proper support.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/1160
> Link: https://github.com/llvm/llvm-project/commits/2288319733cd5f525bf7e24dece08bfcf9d0ff9e
> Link: https://groups.google.com/g/clang-built-linux/c/ayNmi3HoNdY/m/XJAGj_G2AgAJ
> Suggested-by: Nathan Chancellor <nathan@kernel.org>
> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

Reviewed-by: Nathan Chancellor <nathan@kernel.org>

> ---
>   arch/powerpc/Kconfig | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index ce3f59531b51..2a02784b7ef0 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -289,6 +289,7 @@ config PANIC_TIMEOUT
>   config COMPAT
>   	bool "Enable support for 32bit binaries"
>   	depends on PPC64
> +	depends on !CC_IS_CLANG || CLANG_VERSION >= 120000
>   	default y if !CPU_LITTLE_ENDIAN
>   	select ARCH_WANT_OLD_COMPAT_IPC
>   	select COMPAT_OLD_SIGACTION
>

```

## Re: \[PATCH\] powerpc: Kconfig: disable CONFIG\_COMPAT for clang \< 12

- From: Michael Ellerman \<hidden\>
- Date: 2021-06-06 12:13:13 
- Message: https://ratatoskr.run/linuxppc-dev/2021/06/1403912.md

```text
On Tue, 18 May 2021 13:58:57 -0700, Nick Desaulniers wrote:
> Until clang-12, clang would attempt to assemble 32b powerpc assembler in
> 64b emulation mode when using a 64b target triple with -m32, leading to
> errors during the build of the compat VDSO. Simply disable all of
> CONFIG_COMPAT; users should upgrade to the latest release of clang for
> proper support.

Applied to powerpc/next.

[1/1] powerpc: Kconfig: disable CONFIG_COMPAT for clang < 12
      https://git.kernel.org/powerpc/c/6fcb574125e673f33ff058caa54b4e65629f3a08

cheers
```
