[gcc] RTEMS: Tune multilib selection
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Feb 24 06:23:13 UTC 2023
On 23.02.23 19:38, Palmer Dabbelt wrote:
> On Thu, 23 Feb 2023 03:48:26 PST (-0800),
> sebastian.huber at 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 <palmer at 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).
Thanks for the review. Which performance issue may show up here?
>
> 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.
RTEMS has its own release cycle, so I would back port this change to all
GCC branches which may be used with RTEMS 6 and this is GCC 10 or later.
--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax: +49-89-18 94 741 - 08
Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
More information about the devel
mailing list