diff options
author | Cooper Qu <cooper.qu@linux.alibaba.com> | 2021-09-22 16:14:36 +0800 |
---|---|---|
committer | Nelson Chu <nelson.chu@sifive.com> | 2021-09-28 19:39:16 +0800 |
commit | 3a6a0158ee07ba2f960ae4a898897460382dc5ec (patch) | |
tree | 36aea02fddd2e89558fb596ecb7318be4b9f0508 /bfd/elfxx-riscv.c | |
parent | 69a61890cb94746e5a564776081c3cefa8fca408 (diff) | |
download | gdb-3a6a0158ee07ba2f960ae4a898897460382dc5ec.zip gdb-3a6a0158ee07ba2f960ae4a898897460382dc5ec.tar.gz gdb-3a6a0158ee07ba2f960ae4a898897460382dc5ec.tar.bz2 |
RISC-V: Fix wrong version number when arch contains 'p'.
When specify a default version for p extension in
riscv_supported_std_ext[](elfxx-riscv.c) and assembling with
-march=rv32imacp, the c extension's version in attribute will become
0p0, the expectation is 2p0.
TODO: Remember to add testcase when we have supported standrad p in
the future.
bfd/
PR gas/28372
* elfxx-riscv.c (riscv_parsing_subset_version): Break if p
represent the 'p' extension.
Change-Id: Ia4e0cf26f3d7d07acaee8cefd86707ecac663a59
Diffstat (limited to 'bfd/elfxx-riscv.c')
-rw-r--r-- | bfd/elfxx-riscv.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index c3d019c..044cc63 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -1536,13 +1536,9 @@ riscv_parsing_subset_version (const char *p, { np = *(p + 1); + /* Might be beginning of `p` extension. */ if (!ISDIGIT (np)) - { - /* Might be beginning of `p` extension. */ - *major_version = version; - *minor_version = 0; - return p; - } + break; *major_version = version; major_p = false; |