Skip to content

Commit 5c4cebc

Browse files
authored
Fixes in the AArch64 nofp variants regarding RTTI and exceptions (#594)
This patch fixes a few issues in the AArch64 nofp variants: - AArch64 nofp variants without exceptions and RTTI must have higher priority The presence of `-fno-exceptions` and `-fno-rtti` in the driver invocation causes matching with two variants: the one with RTTI/Exceptions and the one without. In the multilib system, the last match is the one that wins, therefore in the JSON file we must list the variant without RTTI/Exceptions *after* the one with. - Enable exceptions and RTTI in the build of aarch64 nofp variants supposed to have them
1 parent 776a44c commit 5c4cebc

File tree

3 files changed

+16
-17
lines changed

3 files changed

+16
-17
lines changed

arm-multilib/json/multilib.json

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,31 +30,30 @@
3030
"json": "aarch64a_strictalign.json",
3131
"flags": "--target=aarch64-unknown-none-elf -mno-unaligned-access -fno-exceptions -fno-rtti"
3232
},
33-
{
34-
"variant": "aarch64a_soft_nofp",
35-
"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-
"libraries_supported": "picolibc,newlib"
38-
},
39-
{
40-
"variant": "aarch64a_be_soft_nofp",
41-
"json": "aarch64a_be_soft_nofp.json",
42-
"flags": "--target=aarch64_be-unknown-none-elf -march=armv8-a+nofp+nosimd -mabi=aapcs-soft -fno-exceptions -fno-rtti",
43-
"libraries_supported": "picolibc,newlib"
44-
},
4533
{
4634
"variant": "aarch64a_soft_nofp_exn_rtti",
4735
"json": "aarch64a_soft_nofp_exn_rtti.json",
4836
"flags": "--target=aarch64-unknown-none-elf -march=armv8-a+nofp+nosimd -mabi=aapcs-soft",
4937
"libraries_supported": "picolibc,newlib"
5038
},
39+
{
40+
"variant": "aarch64a_soft_nofp",
41+
"json": "aarch64a_soft_nofp.json",
42+
"flags": "--target=aarch64-unknown-none-elf -march=armv8-a+nofp+nosimd -mabi=aapcs-soft -fno-exceptions -fno-rtti",
43+
"libraries_supported": "picolibc,newlib"
44+
},
5145
{
5246
"variant": "aarch64a_be_soft_nofp_exn_rtti",
5347
"json": "aarch64a_be_soft_nofp_exn_rtti.json",
5448
"flags": "--target=aarch64_be-unknown-none-elf -march=armv8-a+nofp+nosimd -mabi=aapcs-soft",
5549
"libraries_supported": "picolibc,newlib"
5650
},
57-
51+
{
52+
"variant": "aarch64a_be_soft_nofp",
53+
"json": "aarch64a_be_soft_nofp.json",
54+
"flags": "--target=aarch64_be-unknown-none-elf -march=armv8-a+nofp+nosimd -mabi=aapcs-soft -fno-exceptions -fno-rtti",
55+
"libraries_supported": "picolibc,newlib"
56+
},
5857
{
5958
"variant": "armv4t_exn_rtti",
6059
"json": "armv4t_exn_rtti.json",

arm-multilib/json/variants/aarch64a_be_soft_nofp_exn_rtti.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
"TARGET_ARCH": "aarch64a",
55
"VARIANT": "aarch64a_be_soft_nofp_exn_rtti",
66
"COMPILE_FLAGS": "-march=armv8-a+nofp+nosimd -mbig-endian -mabi=aapcs-soft -mno-unaligned-access",
7-
"ENABLE_EXCEPTIONS": "OFF",
8-
"ENABLE_RTTI": "OFF",
7+
"ENABLE_EXCEPTIONS": "ON",
8+
"ENABLE_RTTI": "ON",
99
"TEST_EXECUTOR": "fvp",
1010
"FVP_MODEL": "aem-a",
1111
"FVP_CONFIG": "v8a-aarch64 big-endian",

arm-multilib/json/variants/aarch64a_soft_nofp_exn_rtti.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
"TARGET_ARCH": "aarch64a",
55
"VARIANT": "aarch64a_soft_nofp_exn_rtti",
66
"COMPILE_FLAGS": "-march=armv8-a+nofp+nosimd -mabi=aapcs-soft -mno-unaligned-access",
7-
"ENABLE_EXCEPTIONS": "OFF",
8-
"ENABLE_RTTI": "OFF",
7+
"ENABLE_EXCEPTIONS": "ON",
8+
"ENABLE_RTTI": "ON",
99
"TEST_EXECUTOR": "qemu",
1010
"QEMU_MACHINE": "virt",
1111
"QEMU_CPU": "cortex-a57",

0 commit comments

Comments
 (0)