diff options
author | Nelson Chu <nelson.chu@sifive.com> | 2021-05-26 10:34:13 +0800 |
---|---|---|
committer | Nelson Chu <nelson.chu@sifive.com> | 2021-05-26 11:02:29 +0800 |
commit | fe1f847d9a73c090527d2620eb9883185351aea0 (patch) | |
tree | 7e08c1ee26e1a041aceed72797f36b0272f51407 /bfd/elfxx-riscv.h | |
parent | 9495896335a297b6810f9a9b03dfe06cc8d82607 (diff) | |
download | gdb-fe1f847d9a73c090527d2620eb9883185351aea0.zip gdb-fe1f847d9a73c090527d2620eb9883185351aea0.tar.gz gdb-fe1f847d9a73c090527d2620eb9883185351aea0.tar.bz2 |
RISC-V: Allow to link the objects with unknown prefixed extensions.
Since the policies of GNU and llvm toolchain are different for now,
current binutils mainline cannot accept any draft extensions, including
rvv, zfh, .... The Clang/LLVM allows these draft stuff on mainline,
but the GNU ld might be used with them, so this causes the link time
problems.
The patch allows ld to link the objects with unknown prefixed extensions,
which are probably generated by LLVM or customized toolchains.
bfd/
* elfxx-riscv.h (check_unknown_prefixed_ext): New bool.
* elfxx-riscv.c (riscv_parse_prefixed_ext): Do not check the
prefixed extension name if check_unknown_prefixed_ext is false.
* elfnn-riscv.c (riscv_merge_arch_attr_info): Set
check_unknown_prefixed_ext to false for linker.
gas/
* config/tc-riscv.c (riscv_set_arch): Set
check_unknown_prefixed_ext to true for assembler.
Diffstat (limited to 'bfd/elfxx-riscv.h')
-rw-r--r-- | bfd/elfxx-riscv.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/bfd/elfxx-riscv.h b/bfd/elfxx-riscv.h index ff18ff6..c2fff92 100644 --- a/bfd/elfxx-riscv.h +++ b/bfd/elfxx-riscv.h @@ -74,6 +74,7 @@ typedef struct void (*get_default_version) (const char *, int *, int *); + bool check_unknown_prefixed_ext; } riscv_parse_subset_t; extern bool |