diff options
author | Geng Qi <gengqi@linux.alibaba.com> | 2021-04-28 16:29:33 +0800 |
---|---|---|
committer | Jim Wilson <jimw@sifive.com> | 2021-04-29 19:23:54 -0700 |
commit | 17f2908fcf058e145cff275966e34f8c7f57c2c5 (patch) | |
tree | 663df7420413ccfb2a429fedb8aa9e68e4d5e2ea /gcc/builtins.c | |
parent | 6efd040c301b06fae51657c8370ad940c5c3d513 (diff) | |
download | gcc-17f2908fcf058e145cff275966e34f8c7f57c2c5.zip gcc-17f2908fcf058e145cff275966e34f8c7f57c2c5.tar.gz gcc-17f2908fcf058e145cff275966e34f8c7f57c2c5.tar.bz2 |
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.
Diffstat (limited to 'gcc/builtins.c')
0 files changed, 0 insertions, 0 deletions