From c341f4676af4f9922ca61e1b093d103ed808ae6e Mon Sep 17 00:00:00 2001 From: Tsukasa OI Date: Sat, 26 Nov 2022 02:52:48 +0000 Subject: [PATCH] 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. --- bfd/elfnn-riscv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; -- 2.30.2