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.
Checking for "ac_cv_sizeof_long_double" should work on all mips systems, but I
don't know why the check was only in the mips*-linux part of the file
libgcc/config.host.
Best regards
Jürgen
Index: libgcc/config.host
===================================================================
--- libgcc/config.host (Revision 200155)
+++ libgcc/config.host (Arbeitskopie)
@@ -136,6 +136,9 @@
mips*-*-*)
cpu_type=mips
tmake_file=mips/t-mips
+ if test "${ac_cv_sizeof_long_double}" = 16; then
+ tmake_file="${tmake_file} mips/t-tpbit"
+ fi
;;
powerpc*-*-*)
cpu_type=rs6000
@@ -751,9 +754,6 @@
;;
esac
md_unwind_header=mips/linux-unwind.h
- if test "${ac_cv_sizeof_long_double}" = 16; then
- tmake_file="${tmake_file} mips/t-tpbit"
- fi
;;
mips*-sde-elf*)
tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
Index: libgcc/config.host
===================================================================
--- libgcc/config.host (Revision 200155)
+++ libgcc/config.host (Arbeitskopie)
@@ -798,6 +798,9 @@
mips64r5900-*-elf* | mips64r5900el-*-elf*)
tmake_file="$tmake_file mips/t-elf mips/t-crtstuff"
extra_parts="$extra_parts crti.o crtn.o"
+ if test "${ac_cv_sizeof_long_double}" = 16; then
+ tmake_file="${tmake_file} mips/t-tpbit"
+ fi
;;
mips64vr-*-elf* | mips64vrel-*-elf*)
tmake_file="$tmake_file mips/t-elf mips/t-vr mips/t-crtstuff"