RISC-V: Set EF_RISCV_TSO also on .option arch
authorTsukasa OI <research_trasio@irq.a4lg.com>
Wed, 21 Sep 2022 06:23:55 +0000 (06:23 +0000)
committerTsukasa OI <research_trasio@irq.a4lg.com>
Wed, 21 Sep 2022 08:09:38 +0000 (08:09 +0000)
This is a minor fix to commit 96462b012988d35ebb1137a2ad9fd0a96547d79a
("RISC-V: Implement Ztso extension").  Currently, it sets EF_RISCV_TSO ELF
flag when initial ISA string contains the 'Ztso' extension.  However, GAS
has a way to update the ISA string: ".option arch".

When the architecture is updated by ".option arch", EF_RISCV_RVC ELF flag
is set when the 'C' extension is detected.  Analogously, this commit sets
the EF_RISCV_TSO when the 'Ztso' extension is detected.

gas/ChangeLog:

* config/tc-riscv.c (s_riscv_option): Set TSO ELF flag if the
'Ztso' extension is specified via ".option arch" directive.

gas/config/tc-riscv.c

index b1abc8553b027531215b161db5ff8ff0e5c534bc..42d7bf62e4f71b7161cfa0fc465ee2b0302272ed 100644 (file)
@@ -3888,6 +3888,9 @@ s_riscv_option (int x ATTRIBUTE_UNUSED)
       riscv_set_rvc (false);
       if (riscv_subset_supports (&riscv_rps_as, "c"))
        riscv_set_rvc (true);
+
+      if (riscv_subset_supports (&riscv_rps_as, "ztso"))
+       riscv_set_tso ();
     }
   else if (strcmp (name, "push") == 0)
     {