RISC-V: For '-march' and '-mabi' options, add 'Negative' property mentions itself.
When use multi-lib riscv-tool-chain. A bug is triggered when there are two '-march' at command line. riscv64-unknown-elf-gcc -march=rv32gcp -mabi=ilp32f -march=rv32gcpzp64 HelloWorld.c /lhome/gengq/riscv64-linux-ptest/lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/bin/ld: /lhome/gengq/riscv64-linux-ptest/lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/crt0.o: ABI is incompatible with that of the selected emulation: target emulation `elf64-littleriscv' does not match `elf32-littleriscv' /lhome/gengq/riscv64-linux-ptest/lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/bin/ld: failed to merge target specific data of file /lhome/gengq/riscv64-linux-ptest/lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/lib/crt0.o /lhome/gengq/riscv64-linux-ptest/lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/bin/ld: /lhome/gengq/riscv64-linux-ptest/lib/gcc/riscv64-unknown-elf/10.2.0/crtbegin.o: ABI is incompatible with that of the selected emulation: target emulation `elf64-littleriscv' does not match `elf32-littleriscv' /lhome/gengq/riscv64-linux-ptest/lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/bin/ld: failed to merge target specific data of file /lhome/gengq/riscv64-linux-ptest/lib/gcc/riscv64-unknown-elf/10.2.0/crtbegin.o ...... This patch fix it. And the DRIVER would prune the extra '-march' and '-mabi' options and keep only the last one valid. gcc/ChangeLog: * config/riscv/riscv.opt (march=,mabi=): Negative itself.
This commit is contained in:
parent
6efd040c30
commit
17f2908fcf
@ -38,7 +38,7 @@ Target Var(TARGET_PLT) Init(1)
|
||||
When generating -fpic code, allow the use of PLTs. Ignored for fno-pic.
|
||||
|
||||
mabi=
|
||||
Target RejectNegative Joined Enum(abi_type) Var(riscv_abi) Init(ABI_ILP32)
|
||||
Target RejectNegative Joined Enum(abi_type) Var(riscv_abi) Init(ABI_ILP32) Negative(mabi=)
|
||||
Specify integer and floating-point calling convention.
|
||||
|
||||
mpreferred-stack-boundary=
|
||||
@ -79,7 +79,7 @@ Target Mask(DIV)
|
||||
Use hardware instructions for integer division.
|
||||
|
||||
march=
|
||||
Target RejectNegative Joined
|
||||
Target RejectNegative Joined Negative(march=)
|
||||
-march= Generate code for given RISC-V ISA (e.g. RV64IM). ISA strings must be
|
||||
lower-case.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user