Skip to content

Commit 23aff18

Browse files
authored
Add big endian base library variants for aarch64 R Target with strictly aligned. (#68)
1 parent 3cf5cbe commit 23aff18

File tree

4 files changed

+106
-0
lines changed

4 files changed

+106
-0
lines changed

arm-software/embedded/arm-multilib/json/multilib.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,16 @@
6464
"json": "aarch64r_unaligned.json",
6565
"flags": "--target=aarch64-unknown-none-elf -march=armv8-r -fno-exceptions -fno-rtti"
6666
},
67+
{
68+
"variant": "aarch64r_be_exn_rtti",
69+
"json": "aarch64r_be_exn_rtti.json",
70+
"flags": "--target=aarch64_be-unknown-none-elf -march=armv8-r"
71+
},
72+
{
73+
"variant": "aarch64r_be",
74+
"json": "aarch64r_be.json",
75+
"flags": "--target=aarch64_be-unknown-none-elf -march=armv8-r -fno-exceptions -fno-rtti"
76+
},
6777
{
6878
"variant": "aarch64r_exn_rtti",
6979
"json": "aarch64r_exn_rtti.json",
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{
2+
"args": {
3+
"common": {
4+
"TARGET_ARCH": "aarch64r",
5+
"VARIANT": "aarch64r_be",
6+
"COMPILE_FLAGS": "-march=armv8-r -mbig-endian -mno-unaligned-access",
7+
"ENABLE_EXCEPTIONS": "OFF",
8+
"ENABLE_RTTI": "OFF",
9+
"TEST_EXECUTOR": "fvp",
10+
"FVP_MODEL": "aem-r",
11+
"FVP_CONFIG": "v8r-aarch64 big-endian",
12+
"BOOT_FLASH_ADDRESS": "0x0",
13+
"BOOT_FLASH_SIZE": "0x1000",
14+
"FLASH_ADDRESS": "0x1000",
15+
"FLASH_SIZE": "0xfff000",
16+
"RAM_ADDRESS": "0x1000000",
17+
"RAM_SIZE": "0x1000000",
18+
"STACK_SIZE": "8K"
19+
},
20+
"picolibc": {
21+
"PICOLIBC_BUILD_TYPE": "release",
22+
"ENABLE_CXX_LIBS": "ON",
23+
"ENABLE_LIBC_TESTS": "ON",
24+
"ENABLE_COMPILER_RT_TESTS": "OFF",
25+
"ENABLE_LIBCXX_TESTS": "OFF"
26+
},
27+
"newlib": {
28+
"ENABLE_CXX_LIBS": "ON",
29+
"ENABLE_LIBC_TESTS": "OFF",
30+
"ENABLE_COMPILER_RT_TESTS": "OFF",
31+
"ENABLE_LIBCXX_TESTS": "OFF"
32+
},
33+
"llvmlibc": {
34+
"ENABLE_CXX_LIBS": "OFF",
35+
"ENABLE_LIBC_TESTS": "OFF",
36+
"ENABLE_COMPILER_RT_TESTS": "OFF",
37+
"ENABLE_LIBCXX_TESTS": "OFF"
38+
}
39+
}
40+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{
2+
"args": {
3+
"common": {
4+
"TARGET_ARCH": "aarch64r",
5+
"VARIANT": "aarch64r_be_exn_rtti",
6+
"COMPILE_FLAGS": "-march=armv8-r -mbig-endian -mno-unaligned-access",
7+
"ENABLE_EXCEPTIONS": "ON",
8+
"ENABLE_RTTI": "ON",
9+
"TEST_EXECUTOR": "fvp",
10+
"FVP_MODEL": "aem-r",
11+
"FVP_CONFIG": "v8r-aarch64 big-endian",
12+
"BOOT_FLASH_ADDRESS": "0x0",
13+
"BOOT_FLASH_SIZE": "0x1000",
14+
"FLASH_ADDRESS": "0x1000",
15+
"FLASH_SIZE": "0xfff000",
16+
"RAM_ADDRESS": "0x1000000",
17+
"RAM_SIZE": "0x1000000",
18+
"STACK_SIZE": "8K"
19+
},
20+
"picolibc": {
21+
"PICOLIBC_BUILD_TYPE": "release",
22+
"ENABLE_CXX_LIBS": "ON",
23+
"ENABLE_LIBC_TESTS": "ON",
24+
"ENABLE_COMPILER_RT_TESTS": "OFF",
25+
"ENABLE_LIBCXX_TESTS": "OFF"
26+
},
27+
"newlib": {
28+
"ENABLE_CXX_LIBS": "ON",
29+
"ENABLE_LIBC_TESTS": "OFF",
30+
"ENABLE_COMPILER_RT_TESTS": "OFF",
31+
"ENABLE_LIBCXX_TESTS": "OFF"
32+
},
33+
"llvmlibc": {
34+
"ENABLE_CXX_LIBS": "OFF",
35+
"ENABLE_LIBC_TESTS": "OFF",
36+
"ENABLE_COMPILER_RT_TESTS": "OFF",
37+
"ENABLE_LIBCXX_TESTS": "OFF"
38+
}
39+
}
40+
}

arm-software/embedded/test/multilib/aarch64.test

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,3 +107,19 @@
107107

108108
# AARCH64-BE: aarch64-none-elf/aarch64a_be{{$}}
109109
# AARCH64-BE-EMPTY:
110+
111+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8-r -mbig-endian | FileCheck %s --check-prefix=AARCH64R-BE-EXNRTTI
112+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-r82 -mbig-endian | FileCheck %s --check-prefix=AARCH64R-BE-EXNRTTI
113+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8-r -mbig-endian -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64R-BE-EXNRTTI
114+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-r82 -mbig-endian -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64R-BE-EXNRTTI
115+
116+
# AARCH64R-BE-EXNRTTI: aarch64-none-elf/aarch64r_be_exn_rtti{{$}}
117+
# AARCH64R-BE-EXNRTTI-EMPTY:
118+
119+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8-r -mbig-endian -fno-exceptions -fno-rtti | FileCheck %s --check-prefix=AARCH64R-BE
120+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-r82 -mbig-endian -fno-exceptions -fno-rtti | FileCheck %s --check-prefix=AARCH64R-BE
121+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -march=armv8-r -mbig-endian -fno-exceptions -fno-rtti -mno-unaligned-access| FileCheck %s --check-prefix=AARCH64R-BE
122+
# RUN: %clang -print-multi-directory --target=aarch64-none-elf -mcpu=cortex-r82 -mbig-endian -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck %s --check-prefix=AARCH64R-BE
123+
124+
# AARCH64R-BE: aarch64-none-elf/aarch64r_be{{$}}
125+
# AARCH64R-BE-EMPTY:

0 commit comments

Comments
 (0)