diff --git a/arm-multilib/json/multilib.json b/arm-multilib/json/multilib.json index 7f675317..bff6f980 100644 --- a/arm-multilib/json/multilib.json +++ b/arm-multilib/json/multilib.json @@ -50,6 +50,16 @@ "json": "armv7a_soft_nofp.json", "flags": "--target=armv7-unknown-none-eabi -mfpu=none -fno-exceptions -fno-rtti" }, + { + "variant": "armv7a_soft_nofp_strictly_aligned_exn_rtti", + "json": "armv7a_soft_nofp_strictly_aligned_exn_rtti.json", + "flags": "--target=armv7-unknown-none-eabi -mfpu=none -mno-unaligned-access" + }, + { + "variant": "armv7a_soft_nofp_strictly_aligned", + "json": "armv7a_soft_nofp_strictly_aligned.json", + "flags": "--target=armv7-unknown-none-eabi -mfpu=none -mno-unaligned-access -fno-exceptions -fno-rtti" + }, { "variant": "armv7a_hard_vfpv3_d16_exn_rtti", "json": "armv7a_hard_vfpv3_d16_exn_rtti.json", diff --git a/arm-multilib/json/variants/armv7a_soft_nofp_strictly_aligned.json b/arm-multilib/json/variants/armv7a_soft_nofp_strictly_aligned.json new file mode 100644 index 00000000..aea94f10 --- /dev/null +++ b/arm-multilib/json/variants/armv7a_soft_nofp_strictly_aligned.json @@ -0,0 +1,41 @@ +{ + "args": { + "common": { + "TARGET_ARCH": "armv7a", + "VARIANT": "armv7a_soft_nofp_strictly_aligned", + "COMPILE_FLAGS": "-mfloat-abi=soft -march=armv7a -mfpu=none -mno-unaligned-access", + "ENABLE_EXCEPTIONS": "OFF", + "ENABLE_RTTI": "OFF", + "TEST_EXECUTOR": "qemu", + "QEMU_MACHINE": "none", + "QEMU_CPU": "cortex-a7", + "QEMU_PARAMS": "-m 1G", + "BOOT_FLASH_ADDRESS": "0x00000000", + "BOOT_FLASH_SIZE": "0x1000", + "FLASH_ADDRESS": "0x20000000", + "FLASH_SIZE": "0x1000000", + "RAM_ADDRESS": "0x21000000", + "RAM_SIZE": "0x1000000", + "STACK_SIZE": "4K" + }, + "picolibc": { + "PICOLIBC_BUILD_TYPE": "release", + "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" + } + } +} \ No newline at end of file diff --git a/arm-multilib/json/variants/armv7a_soft_nofp_strictly_aligned_exn_rtti.json b/arm-multilib/json/variants/armv7a_soft_nofp_strictly_aligned_exn_rtti.json new file mode 100644 index 00000000..cc285a0c --- /dev/null +++ b/arm-multilib/json/variants/armv7a_soft_nofp_strictly_aligned_exn_rtti.json @@ -0,0 +1,41 @@ +{ + "args": { + "common": { + "TARGET_ARCH": "armv7a", + "VARIANT": "armv7a_soft_nofp_strictly_aligned_exn_rtti", + "COMPILE_FLAGS": "-mfloat-abi=soft -march=armv7a -mfpu=none -mno-unaligned-access", + "ENABLE_EXCEPTIONS": "ON", + "ENABLE_RTTI": "ON", + "TEST_EXECUTOR": "qemu", + "QEMU_MACHINE": "none", + "QEMU_CPU": "cortex-a7", + "QEMU_PARAMS": "-m 1G", + "BOOT_FLASH_ADDRESS": "0x00000000", + "BOOT_FLASH_SIZE": "0x1000", + "FLASH_ADDRESS": "0x20000000", + "FLASH_SIZE": "0x1000000", + "RAM_ADDRESS": "0x21000000", + "RAM_SIZE": "0x1000000", + "STACK_SIZE": "4K" + }, + "picolibc": { + "PICOLIBC_BUILD_TYPE": "release", + "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" + } + } +} \ No newline at end of file diff --git a/test/multilib/armv7a.test b/test/multilib/armv7a.test index 3d246b8c..3f3eecc8 100644 --- a/test/multilib/armv7a.test +++ b/test/multilib/armv7a.test @@ -7,6 +7,15 @@ # CHECK: arm-none-eabi/armv7a_soft_nofp_exn_rtti{{$}} # CHECK-EMPTY: +# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mfpu=none -mno-unaligned-access | FileCheck --check-prefix=CHECK-NOUNALIGNED %s +# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mfpu=none -mno-unaligned-access -marm | FileCheck --check-prefix=CHECK-NOUNALIGNED %s +# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mfpu=none -mno-unaligned-access -mthumb| FileCheck --check-prefix=CHECK-NOUNALIGNED %s +# RUN: %clang -print-multi-directory --target=armv7ve-none-eabi -mfpu=none -mno-unaligned-access | FileCheck --check-prefix=CHECK-NOUNALIGNED %s +# RUN: %clang -print-multi-directory --target=armv7ve-none-eabi -mfpu=none -mno-unaligned-access -marm | FileCheck --check-prefix=CHECK-NOUNALIGNED %s +# RUN: %clang -print-multi-directory --target=armv7ve-none-eabi -mfpu=none -mno-unaligned-access -mthumb| FileCheck --check-prefix=CHECK-NOUNALIGNED %s +# CHECK-NOUNALIGNED: arm-none-eabi/armv7a_soft_nofp_strictly_aligned_exn_rtti{{$}} +# CHECK-NOUNALIGNED-EMPTY: + # RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mfpu=vfpv3-d16 | FileCheck --check-prefix=VFPV3 %s # RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mfpu=neon-vfpv3 | FileCheck --check-prefix=VFPV3 %s # RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mfpu=vfpv3 | FileCheck --check-prefix=VFPV3 %s