On Thu, 23 Feb 2023 03:48:26 PST (-0800), sebastian.hu...@embedded-brains.de 
wrote:
gcc/ChangeLog:

        * config/riscv/t-rtems: Keep only -mcmodel=medany 64-bit multilibs.
        Add non-compact 32-bit multilibs.
---
 gcc/config/riscv/t-rtems | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/gcc/config/riscv/t-rtems b/gcc/config/riscv/t-rtems
index 41f5927fc87..19b12030895 100644
--- a/gcc/config/riscv/t-rtems
+++ b/gcc/config/riscv/t-rtems
@@ -1,8 +1,8 @@
 MULTILIB_OPTIONS       =
 MULTILIB_DIRNAMES      =
-MULTILIB_OPTIONS += march=rv32i/march=rv32im/march=rv32imafd/march=rv32iac/march=rv32imac/march=rv32imafc/march=rv64imafd/march=rv64imac/march=rv64imafdc
-MULTILIB_DIRNAMES      += rv32i       rv32im       rv32imafd       rv32iac     
  rv32imac       rv32imafc       rv64imafd       rv64imac       rv64imafdc
+MULTILIB_OPTIONS       += 
march=rv32i/march=rv32iac/march=rv32im/march=rv32ima/march=rv32imac/march=rv32imaf/march=rv32imafc/march=rv32imafd/march=rv32imafdc/march=rv64ima/march=rv64imac/march=rv64imafd/march=rv64imafdc
+MULTILIB_DIRNAMES      += rv32i       rv32iac       rv32im       rv32ima       
rv32imac       rv32imaf       rv32imafc       rv32imafd       rv32imafdc       
rv64ima       rv64imac       rv64imafd       rv64imafdc
MULTILIB_OPTIONS += mabi=ilp32/mabi=ilp32f/mabi=ilp32d/mabi=lp64/mabi=lp64d
 MULTILIB_DIRNAMES      += ilp32      ilp32f      ilp32d      lp64      lp64d
@@ -12,14 +12,15 @@ MULTILIB_DIRNAMES   += medany
MULTILIB_REQUIRED =
 MULTILIB_REQUIRED      += march=rv32i/mabi=ilp32
-MULTILIB_REQUIRED      += march=rv32im/mabi=ilp32
-MULTILIB_REQUIRED      += march=rv32imafd/mabi=ilp32d
 MULTILIB_REQUIRED      += march=rv32iac/mabi=ilp32
+MULTILIB_REQUIRED      += march=rv32im/mabi=ilp32
+MULTILIB_REQUIRED      += march=rv32ima/mabi=ilp32
 MULTILIB_REQUIRED      += march=rv32imac/mabi=ilp32
+MULTILIB_REQUIRED      += march=rv32imaf/mabi=ilp32f
 MULTILIB_REQUIRED      += march=rv32imafc/mabi=ilp32f
-MULTILIB_REQUIRED      += march=rv64imafd/mabi=lp64d
-MULTILIB_REQUIRED      += march=rv64imafd/mabi=lp64d/mcmodel=medany
-MULTILIB_REQUIRED      += march=rv64imac/mabi=lp64
+MULTILIB_REQUIRED      += march=rv32imafd/mabi=ilp32d
+MULTILIB_REQUIRED      += march=rv32imafdc/mabi=ilp32d
+MULTILIB_REQUIRED      += march=rv64ima/mabi=lp64/mcmodel=medany
 MULTILIB_REQUIRED      += march=rv64imac/mabi=lp64/mcmodel=medany
-MULTILIB_REQUIRED      += march=rv64imafdc/mabi=lp64d
+MULTILIB_REQUIRED      += march=rv64imafd/mabi=lp64d/mcmodel=medany
 MULTILIB_REQUIRED      += march=rv64imafdc/mabi=lp64d/mcmodel=medany

Reviewed-by: Palmer Dabbelt <pal...@rivosinc.com>

IMO it's fine to remove multilibs from the default set. It could be seen as breaking users, but IIRC last time we talked about something like this it was OK as otherwise we're going to end up with a huge set of multilibs for defunct ISAs. This one is also extra safe, since moving to medany shouldn't break any users (aside from maybe a slight performance issue).

Are you aiming for GCC-13 with this? I wouldn't be opposed to that: there's some risk of breaking users this late in the process, but my guess is that most of them aren't looking until release anyway. Still better to hold off, but if there's something in RTEMS land that benefits from this being early then I think it's fine.

Reply via email to