[PATCH] Update RTEMS multilib for SPARC

Daniel Hellstrom daniel at gaisler.com
Mon Sep 28 13:20:45 UTC 2015


On 09/28/2015 02:36 PM, Sebastian Huber wrote:
>
>
> On 28/09/15 14:33, Sebastian Huber wrote:
>> On 28/09/15 14:13, Daniel Hellstrom wrote:
>>> Now that muser-mode is default the multilib definitions does not require to
>>> specify that switch any more. Add UT699 to multilib after recent patches. Add
>>> AT697F multilib since there are many LEON2 users running RTEMS.
>>>
>>> To gcc/ChangeLog:
>>>
>>> gcc/
>>>     * config/sparc/t-rtems: Remove -muser-mode, add ut699 and at697f
>>> ---
>>>   gcc/config/sparc/t-rtems |   25 +++++++++++++++----------
>>>   1 files changed, 15 insertions(+), 10 deletions(-)
>>>
>>> diff --git a/gcc/config/sparc/t-rtems b/gcc/config/sparc/t-rtems
>>> index adb6dcb..6f7cc6f 100644
>>> --- a/gcc/config/sparc/t-rtems
>>> +++ b/gcc/config/sparc/t-rtems
>>> @@ -17,15 +17,20 @@
>>>   # <http://www.gnu.org/licenses/>.
>>>   #
>>>   -MULTILIB_OPTIONS = msoft-float mcpu=v8/mcpu=leon3/mcpu=leon3v7 muser-mode
>>> -MULTILIB_DIRNAMES = soft v8 leon3 leon3v7 user-mode
>>> +MULTILIB_OPTIONS = msoft-float mcpu=v8/mcpu=leon3/mcpu=leon3v7/mcpu=leon \
>>> +           mfix-ut699/mfix-at697f
>>> +MULTILIB_DIRNAMES = soft v8 leon3 leon3v7 leon ut699 at697f
>>>   MULTILIB_MATCHES = msoft-float=mno-fpu
>>>   -MULTILIB_EXCEPTIONS = muser-mode
>>> -MULTILIB_EXCEPTIONS += mcpu=leon3
>>> -MULTILIB_EXCEPTIONS += mcpu=leon3v7
>>> -MULTILIB_EXCEPTIONS += msoft-float/mcpu=leon3
>>> -MULTILIB_EXCEPTIONS += msoft-float/mcpu=leon3v7
>>> -MULTILIB_EXCEPTIONS += msoft-float/muser-mode
>>> -MULTILIB_EXCEPTIONS += msoft-float/mcpu=v8/muser-mode
>>> -MULTILIB_EXCEPTIONS += mcpu=v8/muser-mode
>>> +MULTILIB_EXCEPTIONS = mfix-ut699
>>> +MULTILIB_EXCEPTIONS += msoft-float/mfix-ut699
>>> +MULTILIB_EXCEPTIONS += msoft-float/mcpu=v8/mfix-ut699
>>> +MULTILIB_EXCEPTIONS += msoft-float/mcpu=leon3*/mfix-ut699
>>> +MULTILIB_EXCEPTIONS += mcpu=v8/mfix-ut699
>>> +MULTILIB_EXCEPTIONS += mcpu=leon3*/mfix-ut699
>>> +MULTILIB_EXCEPTIONS += mfix-at697f
>>> +MULTILIB_EXCEPTIONS += msoft-float/mfix-at697f
>>> +MULTILIB_EXCEPTIONS += msoft-float/mcpu=v8/mfix-at697f
>>> +MULTILIB_EXCEPTIONS += msoft-float/mcpu=leon3*/mfix-at697f
>>> +MULTILIB_EXCEPTIONS += mcpu=v8/mfix-at697f
>>> +MULTILIB_EXCEPTIONS += mcpu=leon3*/mfix-at697f
>>
>> Why do we need so many variants with fixes for the UT699 (32-bit Fault-Tolerant LEON3FT SPARC V8 Processor) and the AT697F (LEON2-FT)? Why do we have no leon3 variant without fixes for the UT699 
>> and AT697F? Which multilib do you suggest now for the NGMP/GR740?
>>
NGMP/GR740 is still the same ("mcpu=leon3" or "mcpu=leon3 msoft-float") but the muser-mode is not longer needed since it is default. This will be easier than having to deal with muser-mode all the 
time and if that is forgotten during link the v7 multilib will be selected wrongly.

Two variants for UT699 (hard-float and soft-float) and for AT697F (hard-float and soft-float). We could remove AT697 soft-float since the mfix-at697f only fixes float instructions at the moment but I 
though it would be easier and MULTILIB_REUSE didn't work I'm guessing since there is a = sign in the target switch.

>
> Sorry, for these stupid questions. Maybe we should change this file to use MULTILIB_REQUIRED, like on rs6000 and arm.
>
> Which multilibs do we have after this change?

.;
soft;@msoft-float
v8;@mcpu=v8
leon3;@mcpu=leon3
leon3v7;@mcpu=leon3v7
leon;@mcpu=leon
leon/ut699;@mcpu=leon at mfix-ut699
leon/at697f;@mcpu=leon at mfix-at697f
soft/v8;@msoft-float at mcpu=v8
soft/leon3;@msoft-float at mcpu=leon3
soft/leon3v7;@msoft-float at mcpu=leon3v7
soft/leon;@msoft-float at mcpu=leon
soft/leon/ut699;@msoft-float at mcpu=leon at mfix-ut699
soft/leon/at697f;@msoft-float at mcpu=leon at mfix-at697f


Regards,
Daniel



More information about the devel mailing list