Skip to content
This repository was archived by the owner on Feb 26, 2025. It is now read-only.

Commit 3f6e358

Browse files
authored
Fix multilib flags of AArch64 soft nofp (#600)
This patch fixes the multilib flags required to select the AArch64 soft nofp variants. The `+nofp` and `+nosimd` arch extensions are specified in the `-march` or `-mcpu` command line options. Before this patch, the multilib flags specified this part as `-march=armv8-a+nofp+nosimd`, however this does not work for any architecture greater than v8, including point releases, nor does it for any `-mcpu` value whose underlying architecture is greater than v8. In the former case because any point release would lead to a regular expression mismatch; and in the latter, `-mcpu` option processing introduces extra architecture extensions in the string. Hence the correct way is to match agains `-march=armvX+nofp` and `-march=armvX+nosimd`. These two multilib flags are inserted by our implementation of `multilib.yaml` when `+nofp` and `+nosimd` are present anywhere in the `-march=` or `-mcpu=` values, respectively.
1 parent 1d6668d commit 3f6e358

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

arm-multilib/json/multilib.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,25 +33,25 @@
3333
{
3434
"variant": "aarch64a_soft_nofp_exn_rtti",
3535
"json": "aarch64a_soft_nofp_exn_rtti.json",
36-
"flags": "--target=aarch64-unknown-none-elf -march=armv8-a+nofp+nosimd -mabi=aapcs-soft",
36+
"flags": "--target=aarch64-unknown-none-elf -march=armvX+nofp -march=armvX+nosimd -mabi=aapcs-soft",
3737
"libraries_supported": "picolibc,newlib"
3838
},
3939
{
4040
"variant": "aarch64a_soft_nofp",
4141
"json": "aarch64a_soft_nofp.json",
42-
"flags": "--target=aarch64-unknown-none-elf -march=armv8-a+nofp+nosimd -mabi=aapcs-soft -fno-exceptions -fno-rtti",
42+
"flags": "--target=aarch64-unknown-none-elf -march=armvX+nofp -march=armvX+nosimd -mabi=aapcs-soft -fno-exceptions -fno-rtti",
4343
"libraries_supported": "picolibc,newlib"
4444
},
4545
{
4646
"variant": "aarch64a_be_soft_nofp_exn_rtti",
4747
"json": "aarch64a_be_soft_nofp_exn_rtti.json",
48-
"flags": "--target=aarch64_be-unknown-none-elf -march=armv8-a+nofp+nosimd -mabi=aapcs-soft",
48+
"flags": "--target=aarch64_be-unknown-none-elf -march=armvX+nofp -march=armvX+nosimd -mabi=aapcs-soft",
4949
"libraries_supported": "picolibc,newlib"
5050
},
5151
{
5252
"variant": "aarch64a_be_soft_nofp",
5353
"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",
54+
"flags": "--target=aarch64_be-unknown-none-elf -march=armvX+nofp -march=armvX+nosimd -mabi=aapcs-soft -fno-exceptions -fno-rtti",
5555
"libraries_supported": "picolibc,newlib"
5656
},
5757
{

0 commit comments

Comments
 (0)