[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