[PATCH] Basic support for MIPS r5900

Richard Sandiford rdsandiford@googlemail.com
Sun Jun 23 20:21:00 GMT 2013


"Jürgen Urban" <JuergenUrban@gmx.de> writes:
> Hello Richard,
>
>> >> Does it still work with those changes, as below?  If so, I'll check it in.
>> >
>> > I tested it. It is still working. So the patch is OK, please check it in.
>>
>> OK, I've applied this and the config.gcc patch.
>
> Thanks.
>
> In the native PS2SDK (i.e. no Linux) I detected that there are undefined
> references to `__fixtfsi', `__floatsitf', `__subtf3', `__multf3',
> __extenddftf2', `__lttf2' and `__gttf2'. These are the functions for
> handling "long double".
> There is a fix needed for this in libgcc. I attached 2 patches to this
> e-mail. There should be only one of the patches used to fix this.
> The first one fixes the problem for all mips systems. The second one
> fixes this only for r5900. I think it is a general problem. I assume the
> undefined references could appear on all mips64 systems which are not
> Linux. So the first patch should be applied.

The second patch is right.  Not all targets have 128-bit long doubles,
so t-tpbit is intentionally an opt-in rather than opt-out thing.

E.g. mips*-sde-elf and mips*-mti-elf both use:

#undef LONG_DOUBLE_TYPE_SIZE
#define LONG_DOUBLE_TYPE_SIZE 64

to get a form of n32 in which long doubles are the same as doubles.

Do you want to stick with 128-bit long doubles for PS2, or would you
prefer to do what SDE does?

Thanks,
Richard



More information about the Gcc-patches mailing list