10

There appears to be no definitive standardized stack frame and C language calling conventions (register usage and such) for the MIPS-32 Processor Architecture. That is, it appears to be completely up to the assembler/compiler tool chain to define their own stack frame and calling conventions. I've struggled to find a definitive reference of what conventions the GCC compiler uses for MIPS-32 instruction set. I'm specially using GCC cross-compiler on Cygwin that targets a MIPS-32 core being used in an embedded environment on the eCos open source kernel.

Any references to definitive documentation about GCC for MIPS-32 in this area would be appreciated.

phuclv
  • 37,963
  • 15
  • 156
  • 475
Tall Jeff
  • 9,834
  • 7
  • 44
  • 61

3 Answers3

5

Does this reference on MIPS EABI for RedHat Linux help?

Tall Jeff
  • 9,834
  • 7
  • 44
  • 61
nominolo
  • 5,085
  • 2
  • 25
  • 31
5

You are right, this is a bit of a mess and is poorly documented. I would recommend:

Lance Richardson
  • 4,610
  • 23
  • 30
  • Thanks for the references. I have actually looked at the generated code and most of it I have figured out, but it is hard to know I actually have the general case well defined for all the various parameter types and combination, etc. – Tall Jeff May 01 '09 at 17:38
4

I'm not into MIPS, but maybe this MIPS ABI History reference might help.

mirh
  • 514
  • 8
  • 14
starblue
  • 55,348
  • 14
  • 97
  • 151
  • 2
    This link does not work anymore. The new link seems to be: http://www.linux-mips.org/wiki/MIPS_ABI_History – antoyo Oct 23 '15 at 01:01