[proposal] Implement NUBI ABI for MIPS

Mikhail Gusarov <dottedmag@...>

Proposer: Mikhail Gusarov

Summary: Implement NUBI ABI for MIPS

Description: MIPS ABI in use are quite inefficient [1]: no dedicated TLS
register, ancient floating point calling conventions, inefficient
registers allocation etc.

Recent work in gcc/glibc fixed the most glaring problems by introducing
PLT which allowed executable code to be compiled without PIC, but the
rest is not addressed [5]

There is draft of new MIPS ABI addressing the shortcomings of
o32/o64/n64 and providing the framework for unifying the
vendor-specific extensions for older ABIs [2] [3] [4]

The proposed task consists of adding NUBI MIPS ABI to binutils, gcc and

[1] http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64
[2] http://www.linux-mips.org/wiki/IntroducingNUBI
[3] http://www.linux-mips.org/wiki/NUBI
[4] http://www.linux-mips.org/pub/linux/mips/doc/NUBI/
[5] http://gcc.gnu.org/gcc-4.4/changes.html ("MIPS" section)

Comments: while I propose it, I have no qualification for even trying to
do it. Just stumbled upon Linux inefficiency on MIPS and thought it
might be a good CELF OPP.