Skip to content

Commit dbe235a

Browse files
authored
Add AArch64 Big Endian Variants using FVP models (#554)
This patch add new aarch64 big endian library variants. 1. aarch64_be 2. aarch64_be_exn_rtti QEMU's doesn't have big-endian support in the release binaries. so need to use FVPs to test those libraries.
1 parent 1f255ac commit dbe235a

File tree

4 files changed

+91
-0
lines changed

4 files changed

+91
-0
lines changed

arm-multilib/json/multilib.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,16 @@
1010
"json": "aarch64a.json",
1111
"flags": "--target=aarch64-unknown-none-elf -fno-exceptions -fno-rtti"
1212
},
13+
{
14+
"variant": "aarch64a_be_exn_rtti",
15+
"json": "aarch64a_be_exn_rtti.json",
16+
"flags": "--target=aarch64_be-unknown-none-elf"
17+
},
18+
{
19+
"variant": "aarch64a_be",
20+
"json": "aarch64a_be.json",
21+
"flags": "--target=aarch64_be-unknown-none-elf -fno-exceptions -fno-rtti"
22+
},
1323
{
1424
"variant": "armv4t_exn_rtti",
1525
"json": "armv4t_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": "aarch64a",
5+
"VARIANT": "aarch64a_be",
6+
"COMPILE_FLAGS": "-march=armv8-a -mbig-endian",
7+
"ENABLE_EXCEPTIONS": "OFF",
8+
"ENABLE_RTTI": "OFF",
9+
"TEST_EXECUTOR": "fvp",
10+
"FVP_MODEL": "aem-a",
11+
"FVP_CONFIG": "v8a-aarch64 big-endian",
12+
"BOOT_FLASH_ADDRESS": "0x80000000",
13+
"BOOT_FLASH_SIZE": "0x1000",
14+
"FLASH_ADDRESS": "0x80001000",
15+
"FLASH_SIZE": "0xfff000",
16+
"RAM_ADDRESS": "0x81000000",
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": "aarch64a",
5+
"VARIANT": "aarch64a_be_exn_rtti",
6+
"COMPILE_FLAGS": "-march=armv8-a -mbig-endian",
7+
"ENABLE_EXCEPTIONS": "ON",
8+
"ENABLE_RTTI": "ON",
9+
"TEST_EXECUTOR": "fvp",
10+
"FVP_MODEL": "aem-a",
11+
"FVP_CONFIG": "v8a-aarch64 big-endian",
12+
"BOOT_FLASH_ADDRESS": "0x80000000",
13+
"BOOT_FLASH_SIZE": "0x1000",
14+
"FLASH_ADDRESS": "0x80001000",
15+
"FLASH_SIZE": "0xfff000",
16+
"RAM_ADDRESS": "0x81000000",
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+
}

fvp/config/big-endian.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
cluster0.cpu0.CFGEND=1

0 commit comments

Comments
 (0)