"Jürgen Urban" <juergenur...@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