diff --git a/arm-multilib/json/multilib.json b/arm-multilib/json/multilib.json index 95ef58d6..06d36616 100644 --- a/arm-multilib/json/multilib.json +++ b/arm-multilib/json/multilib.json @@ -94,6 +94,16 @@ "json": "armv6m_soft_nofp.json", "flags": "--target=thumbv6m-unknown-none-eabi -mfpu=none -fno-exceptions -fno-rtti -mno-unaligned-access" }, + { + "variant": "armebv6m_soft_nofp_exn_rtti", + "json": "armebv6m_soft_nofp_exn_rtti.json", + "flags": "--target=thumbebv6m-unknown-none-eabi -mfpu=none" + }, + { + "variant": "armebv6m_soft_nofp", + "json": "armebv6m_soft_nofp.json", + "flags": "--target=thumbebv6m-unknown-none-eabi -mfpu=none -fno-exceptions -fno-rtti" + }, { "variant": "armv7a_soft_nofp_exn_rtti_unaligned", "json": "armv7a_soft_nofp_exn_rtti_unaligned.json", diff --git a/arm-multilib/json/variants/armebv6m_soft_nofp.json b/arm-multilib/json/variants/armebv6m_soft_nofp.json new file mode 100644 index 00000000..c7277cb7 --- /dev/null +++ b/arm-multilib/json/variants/armebv6m_soft_nofp.json @@ -0,0 +1,40 @@ +{ + "args": { + "common": { + "TARGET_ARCH": "armv6m", + "VARIANT": "armebv6m_soft_nofp", + "COMPILE_FLAGS": "-mfloat-abi=soft -march=armv6m -mbig-endian -mfpu=none -mno-unaligned-access", + "ENABLE_EXCEPTIONS": "OFF", + "ENABLE_RTTI": "OFF", + "TEST_EXECUTOR": "fvp", + "FVP_MODEL": "corstone-310", + "FVP_CONFIG": "cortex-m85 m-big-endian m-nofp mve-none", + "BOOT_FLASH_ADDRESS": "0x01000000", + "BOOT_FLASH_SIZE": "2M", + "FLASH_ADDRESS": "0x60000000", + "FLASH_SIZE": "0x1000000", + "RAM_ADDRESS": "0x61000000", + "RAM_SIZE": "0x1000000", + "STACK_SIZE": "4K" + }, + "picolibc": { + "PICOLIBC_BUILD_TYPE": "minsize", + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "ON", + "ENABLE_COMPILER_RT_TESTS": "ON", + "ENABLE_LIBCXX_TESTS": "ON" + }, + "newlib": { + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "llvmlibc": { + "ENABLE_CXX_LIBS": "OFF", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + } + } +} diff --git a/arm-multilib/json/variants/armebv6m_soft_nofp_exn_rtti.json b/arm-multilib/json/variants/armebv6m_soft_nofp_exn_rtti.json new file mode 100644 index 00000000..bea48b3d --- /dev/null +++ b/arm-multilib/json/variants/armebv6m_soft_nofp_exn_rtti.json @@ -0,0 +1,40 @@ +{ + "args": { + "common": { + "TARGET_ARCH": "armv6m", + "VARIANT": "armebv6m_soft_nofp_exn_rtti", + "COMPILE_FLAGS": "-mfloat-abi=soft -march=armv6m -mbig-endian -mfpu=none -mno-unaligned-access", + "ENABLE_EXCEPTIONS": "ON", + "ENABLE_RTTI": "ON", + "TEST_EXECUTOR": "fvp", + "FVP_MODEL": "corstone-310", + "FVP_CONFIG": "cortex-m85 m-big-endian m-nofp mve-none", + "BOOT_FLASH_ADDRESS": "0x01000000", + "BOOT_FLASH_SIZE": "2M", + "FLASH_ADDRESS": "0x60000000", + "FLASH_SIZE": "0x1000000", + "RAM_ADDRESS": "0x61000000", + "RAM_SIZE": "0x1000000", + "STACK_SIZE": "4K" + }, + "picolibc": { + "PICOLIBC_BUILD_TYPE": "minsize", + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "ON", + "ENABLE_COMPILER_RT_TESTS": "ON", + "ENABLE_LIBCXX_TESTS": "ON" + }, + "newlib": { + "ENABLE_CXX_LIBS": "ON", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + }, + "llvmlibc": { + "ENABLE_CXX_LIBS": "OFF", + "ENABLE_LIBC_TESTS": "OFF", + "ENABLE_COMPILER_RT_TESTS": "OFF", + "ENABLE_LIBCXX_TESTS": "OFF" + } + } +} diff --git a/fvp/config/m-big-endian.cfg b/fvp/config/m-big-endian.cfg new file mode 100644 index 00000000..9a8fc07e --- /dev/null +++ b/fvp/config/m-big-endian.cfg @@ -0,0 +1,2 @@ +# SPDX-FileCopyrightText: Copyright 2024 Arm Limited and/or its affiliates +cpu0.CFGBIGEND=1 diff --git a/test/multilib/armv6m.test b/test/multilib/armv6m.test index d9cb3c9a..ab50931c 100644 --- a/test/multilib/armv6m.test +++ b/test/multilib/armv6m.test @@ -13,3 +13,13 @@ # RUN: %clang -print-multi-directory --target=armv6m-none-eabi -mfpu=none -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck %s --check-prefix=CHECK-NOFP # CHECK-NOFP: arm-none-eabi/armv6m_soft_nofp{{$}} # CHECK-NOFP-EMPTY: + +# RUN: %clang -print-multi-directory --target=armv6m-none-eabi -mbig-endian -mfpu=none -fno-exceptions -fno-rtti | FileCheck %s --check-prefix=CHECK-BE-NOFP +# RUN: %clang -print-multi-directory --target=armv6m-none-eabi -mbig-endian -mfpu=none -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck %s --check-prefix=CHECK-BE-NOFP +# CHECK-BE-NOFP: arm-none-eabi/armebv6m_soft_nofp{{$}} +# CHECK-BE-NOFP-EMPTY: + +# RUN: %clang -print-multi-directory --target=armv6m-none-eabi -mbig-endian -mfpu=none | FileCheck %s --check-prefix=CHECK-BE-NOFP-EXN-RTTI +# RUN: %clang -print-multi-directory --target=armv6m-none-eabi -mbig-endian -mfpu=none -mno-unaligned-access | FileCheck %s --check-prefix=CHECK-BE-NOFP-EXN-RTTI +# CHECK-BE-NOFP-EXN-RTTI: arm-none-eabi/armebv6m_soft_nofp_exn_rtti{{$}} +# CHECK-BE-NOFP-EXN-RTTI-EMPTY: \ No newline at end of file