CELF Project Proposal/Implement NUBI ABI for MIPS


 * Summary : Implement NUBI ABI for MIPS


 * Proposer : Mikhail Gusarov

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 glibc.

References: [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
Mihkail Gusarov writes: 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.