be two byte aligned. Round argument sizes up to two byte boundary.
Write out args in two byte hunks.
(mn10200_push_return_address): Implement.
* config/mn10200/tm-mn10200.h (EXTRACT_RETURN_VALUE): Abort for
structures > 8 bytes (temporary).
(STORE_RETURN_VALUE): Likewise.
(CALL_DUMMY): No longer undefine.
(USE_STRUCT_CONVENTION): Use for args > 8 bytes.
(REG_STRUCT_HAS_ADDR): Define.
Inferior function calls for the mn10200.
comments, formatting, etc. Plus other minor fixes for problems
I found during my first pass over the mn10200 port.
(mn10200_analyze_prologue): New function.
(mn10200_frame_chain, mn10200_init_extra_frame_info): Use it.
* config/mn10200/tm-mn10200.h: Lots of updates/improvements to
comments, formatting, etc. Minor fixes for problems I found during
my first pass over the mn10200 port.
(TARGET_*_BIT): Define appropriately for ints, long longs, doubles and
pointers.
(REGISTER_VIRTUAL_TYPE): Define as a long.
(EXTRACT_RETURN_VALUE): Rework to deal with long ints living
in register pairs.
(STORE_RETURN_VALUE): Similarly.
Checking in my initial changes, prologue scanning, etc.
Current gdb testsuite results:
=== gdb Summary ===
# of expected passes 3684
# of expected failures 40
# of unexpected failures 6
Start mn10200 gdb port by adding copies of mn10300
target-specific files with all instances of mn10300 changed
to mn10200 to start with.
* mn10200-tdep.c: new
* config/mn10200/tm-mn10200.h: new, REGISTER_SIZE is 24 bits not 32,
SP_REGNUM and FP_REGNUM are different, also no lar or lir.
* config/mn10200/mn10200.mt: new