1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-06-05 02:20:30 +00:00

arm/optee: disable clang due to breakage

With clang 18, optee-os no longer compiles cleanly.  It is now seeing:

| In file included from core/arch/arm/kernel/vfp.c:6:
| In file included from core/arch/arm/include/arm.h:131:
| core/arch/arm/include/arm64.h:436:1: error: expected readable system
register
|   436 | DEFINE_U32_REG_READWRITE_FUNCS(fpcr)
|       | ^
| core/arch/arm/include/arm64.h:417:3: note: expanded from macro
'DEFINE_U32_REG_READWRITE_FUNCS'
|   417 |                 DEFINE_U32_REG_READ_FUNC(reg)   \
|       |                 ^
| core/arch/arm/include/arm64.h:411:3: note: expanded from macro
'DEFINE_U32_REG_READ_FUNC'
|   411 |                 DEFINE_REG_READ_FUNC_(reg, uint32_t, reg)
|       |                 ^
| core/arch/arm/include/arm64.h:398:15: note: expanded from macro
'DEFINE_REG_READ_FUNC_'
|   398 |         asm volatile("mrs %0, " #asmreg : "=r" (val64));
\
|       |                      ^
| <inline asm>:1:10: note: instantiated into assembly here
|     1 |         mrs x8, fpcr
|       |                 ^

Issues are also seen on optee-examples and optee-test.
Forcing GCC for all optee recipes until this issue can be resolved.

Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
Jon Mason
2024-03-17 22:35:58 -04:00
parent 0792a314f6
commit 67901eb5cb
@@ -15,6 +15,9 @@ OPTEE_ARCH:arm = "arm32"
OPTEE_ARCH:aarch64 = "arm64"
OPTEE_CORE = "${@d.getVar('OPTEE_ARCH').upper()}"
# FIXME - breaks with Clang 18. See https://github.com/OP-TEE/optee_os/issues/6754
TOOLCHAIN = "gcc"
OPTEE_TOOLCHAIN = "${@d.getVar('TOOLCHAIN') or 'gcc'}"
OPTEE_COMPILER = "${@bb.utils.contains("BBFILE_COLLECTIONS", "clang-layer", "${OPTEE_TOOLCHAIN}", "gcc", d)}"