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.