diff --git a/libs/libxx/libcxxabi/CMakeLists.txt b/libs/libxx/libcxxabi/CMakeLists.txt index ab747e6ee31..9ffc4f42946 100644 --- a/libs/libxx/libcxxabi/CMakeLists.txt +++ b/libs/libxx/libcxxabi/CMakeLists.txt @@ -114,7 +114,7 @@ if(CONFIG_LIBCXXABI) # Fix compilation error on ARM32:libcxxabi/src/cxa_personality.cpp:594:22: # error: '_URC_FATAL_PHASE1_ERROR' was not declared in this scope 594 | # results.reason = _URC_FATAL_PHASE1_ERROR; - if(CONFIG_ARCH_ARM) + if(CONFIG_ARCH_ARM AND NOT CONFIG_ARCH_TOOLCHAIN_CLANG) target_compile_definitions(libcxxabi PRIVATE _URC_FATAL_PHASE2_ERROR=_URC_FAILURE) target_compile_definitions(libcxxabi diff --git a/libs/libxx/libcxxabi/Make.defs b/libs/libxx/libcxxabi/Make.defs index 362a7a575fc..ef8eb96ebdc 100644 --- a/libs/libxx/libcxxabi/Make.defs +++ b/libs/libxx/libcxxabi/Make.defs @@ -76,7 +76,9 @@ endif # libcxxabi/src/cxa_personality.cpp:594:22: error: '_URC_FATAL_PHASE1_ERROR' was not declared in this scope # 594 | results.reason = _URC_FATAL_PHASE1_ERROR; ifeq ($(CONFIG_ARCH_ARM),y) -CXXFLAGS += -D_URC_FATAL_PHASE2_ERROR=_URC_FAILURE -D_URC_FATAL_PHASE1_ERROR=_URC_FAILURE + ifeq ($(CONFIG_ARCH_TOOLCHAIN_CLANG),) + CXXFLAGS += -D_URC_FATAL_PHASE2_ERROR=_URC_FAILURE -D_URC_FATAL_PHASE1_ERROR=_URC_FAILURE + endif endif CXXFLAGS += -DLIBCXXABI_NON_DEMANGLING_TERMINATE