Sun 26 Nov 2017 05:18:51 PM UTC, original submission:
Hi,
Since GCC 5, the ABI for the Debian 32-bit mips ports has changed: it is now using the FPXX extension of the O32 ABI (see [1], [2] and [3] for some background).
As a consequence, the assembly files shipped for the O32 ABI (on both little- and big-endian) fail to compile, because they try to access odd-numbered floating point registers.
Here on a Debian unstable/sid system:
So basically what is needed (at least for Debian 32-bit mips ports) is to regenerate all the assembly files (using a version of gcc that defaults to the FPXX extension).
Also note that, for avcall, I had to add the -fno-tree-dce optimization flag, otherwise the call to __builtin_alloca() in avcall-mips.c is optimized out (because the variable "space" is not explicitly used).
For information, I attach the patch that I am going to apply to the Debian package. The resulting code compiles on both little- and big-endian 32-bit mips, and passes all the tests.
Best,
Sébastien
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=825342
[2] https://gcc.gnu.org/gcc-5/changes.html
[3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=789612
|