Skip to content

Commit be02e50

Browse files
authored
Changes to AArch64 nofp variant (#589)
- Make the variants strictly aligned - Create new variant for big endian - Create new variant for exceptions and RTTI
1 parent 0b32d96 commit be02e50

File tree

5 files changed

+137
-1
lines changed

5 files changed

+137
-1
lines changed

arm-multilib/json/multilib.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,24 @@
3333
{
3434
"variant": "aarch64a_soft_nofp",
3535
"json": "aarch64a_soft_nofp.json",
36+
"flags": "--target=aarch64-unknown-none-elf -march=armv8-a+nofp+nosimd -mabi=aapcs-soft -fno-exceptions -fno-rtti"
37+
},
38+
{
39+
"variant": "aarch64a_be_soft_nofp",
40+
"json": "aarch64a_be_soft_nofp.json",
41+
"flags": "--target=aarch64_be-unknown-none-elf -march=armv8-a+nofp+nosimd -mabi=aapcs-soft -fno-exceptions -fno-rtti"
42+
},
43+
{
44+
"variant": "aarch64a_soft_nofp_exn_rtti",
45+
"json": "aarch64a_soft_nofp_exn_rtti.json",
3646
"flags": "--target=aarch64-unknown-none-elf -march=armv8-a+nofp+nosimd -mabi=aapcs-soft"
3747
},
48+
{
49+
"variant": "aarch64a_be_soft_nofp_exn_rtti",
50+
"json": "aarch64a_be_soft_nofp_exn_rtti.json",
51+
"flags": "--target=aarch64_be-unknown-none-elf -march=armv8-a+nofp+nosimd -mabi=aapcs-soft"
52+
},
53+
3854
{
3955
"variant": "armv4t_exn_rtti",
4056
"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_soft_nofp",
6+
"COMPILE_FLAGS": "-march=armv8-a+nofp+nosimd -mbig-endian -mabi=aapcs-soft -mno-unaligned-access -fno-exceptions -fno-rtti",
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_soft_nofp_exn_rtti",
6+
"COMPILE_FLAGS": "-march=armv8-a+nofp+nosimd -mbig-endian -mabi=aapcs-soft -mno-unaligned-access",
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+
}

arm-multilib/json/variants/aarch64a_soft_nofp.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"common": {
44
"TARGET_ARCH": "aarch64a",
55
"VARIANT": "aarch64a_soft_nofp",
6-
"COMPILE_FLAGS": "-march=armv8-a+nofp+nosimd -mabi=aapcs-soft",
6+
"COMPILE_FLAGS": "-march=armv8-a+nofp+nosimd -mabi=aapcs-soft -mno-unaligned-access -fno-exceptions -fno-rtti",
77
"ENABLE_EXCEPTIONS": "OFF",
88
"ENABLE_RTTI": "OFF",
99
"TEST_EXECUTOR": "qemu",
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_soft_nofp_exn_rtti",
6+
"COMPILE_FLAGS": "-march=armv8-a+nofp+nosimd -mabi=aapcs-soft -mno-unaligned-access",
7+
"ENABLE_EXCEPTIONS": "OFF",
8+
"ENABLE_RTTI": "OFF",
9+
"TEST_EXECUTOR": "qemu",
10+
"QEMU_MACHINE": "virt",
11+
"QEMU_CPU": "cortex-a57",
12+
"BOOT_FLASH_ADDRESS": "0x40000000",
13+
"BOOT_FLASH_SIZE": "0x1000",
14+
"FLASH_ADDRESS": "0x40001000",
15+
"FLASH_SIZE": "0xfff000",
16+
"RAM_ADDRESS": "0x41000000",
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+
}

0 commit comments

Comments
 (0)