summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTsukasa OI <research_trasio@irq.a4lg.com>2022-11-26 02:52:48 +0000
committerTsukasa OI <research_trasio@irq.a4lg.com>2022-11-28 02:35:43 +0000
commitc341f4676af4f9922ca61e1b093d103ed808ae6e (patch)
tree2f2a80564bc65aea984e6052a9f5c3a8e7ca577d
parent405e9d1992435e3032e5e289d274b2fb51704cc6 (diff)
downloadbinutils-gdb-c341f4676af4f9922ca61e1b093d103ed808ae6e.tar.gz
RISC-V: Allow merging 'H' extension
Because riscv_merge_std_ext function did not merge the 'H' extension, linked executables lacked 'H' extension when multiple objects are merged. This issue is found while building OpenSBI with 'H' extension (resulting ELF files did not contain "h1p0" in "Tag_RISCV_arch" even if *all* linked object files contained it). This commit adds 'h' to standard_exts variable to merge 'H' extension. bfd/ChangeLog: * elfnn-riscv.c (riscv_merge_std_ext): Add 'H' extension merging.
-rw-r--r--bfd/elfnn-riscv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
index a2d85dbe939..a83c8ad2695 100644
--- a/bfd/elfnn-riscv.c
+++ b/bfd/elfnn-riscv.c
@@ -3427,7 +3427,7 @@ riscv_merge_std_ext (bfd *ibfd,
struct riscv_subset_t **pin,
struct riscv_subset_t **pout)
{
- const char *standard_exts = "mafdqlcbjtpvn";
+ const char *standard_exts = "mafdqlcbjtpvnh";
const char *p;
struct riscv_subset_t *in = *pin;
struct riscv_subset_t *out = *pout;