CELF Project Proposal/Implement NUBI ABI for MIPS

From eLinux.org
Jump to: navigation, search
Implement NUBI ABI for MIPS
Mikhail Gusarov


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.


[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)


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.