Re: [RFC] Supporting alternative ABIs

Andrew Cagney
2003-08-22T18:16:25Z

> What a coincidence! I have been looking at the code which
> does this on other platforms. There is code to handle
> alternate function calling conventions in arm-tdep.c, m68hc11-tdep.c,
> mips-tdep.c, and sh-tdep.c.

In the case of ARM (Arm vs Thumb), sh (sh vs sh64) and MIPS (MIPS vs
MIPS16) the tdep file has effectively encountered two different
architecture variants (ISA) folded into a single architecture. For what
corinna is looking at, the ABI and not the ISA is being changed.

Roughly speeking there is the relationships:

ISA N->M ABI

e.g., for MIPS, MIPS16 has only one ABI (two?) while MIPS32 and MIPS64
to a certain extend share the -o32 -64 -o64 and -n64 ABIs.

The current architecture is flat. Refecting the original design it
contains everything. With everything multi-arch (not yet strictly true
unfortunatly) a more oo model can probably be developed. All the
inferior functioin call stuff moved to a separate object - more like the
frame code.

Andrew