aboutsummaryrefslogtreecommitdiff
path: root/gdb/m68klinux-tdep.c
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2003-07-09 21:36:08 +0000
committerAndreas Schwab <schwab@linux-m68k.org>2003-07-09 21:36:08 +0000
commitc481dac7370f894b353d64c3dd93a5d05643d097 (patch)
treeedad0eaa40f5dee3b16761d28d438e2c5d955f73 /gdb/m68klinux-tdep.c
parent64176fa3bbc6e1bba7fabb2afaef1b991523b599 (diff)
downloadgdb-c481dac7370f894b353d64c3dd93a5d05643d097.zip
gdb-c481dac7370f894b353d64c3dd93a5d05643d097.tar.gz
gdb-c481dac7370f894b353d64c3dd93a5d05643d097.tar.bz2
* m68k-tdep.h (enum struct_return): Define.
(struct gdbarch_tdep): Add struct_return. * m68k-tdep.c (m68k_push_dummy_call): Non-scalars bigger than 4 bytes are padded to the right, not to the left. Pass struct value address in register %a1, not on stack. (m68k_use_struct_convention): New function. (m68k_gdbarch_init): Set use_struct_convention. Initialize struct_return in tdep to pcc_struct_return. * m68klinux-tdep.c (m68k_linux_init_abi): Set struct_return to reg_struct_return.
Diffstat (limited to 'gdb/m68klinux-tdep.c')
-rw-r--r--gdb/m68klinux-tdep.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gdb/m68klinux-tdep.c b/gdb/m68klinux-tdep.c
index 422f9af..b39eebe 100644
--- a/gdb/m68klinux-tdep.c
+++ b/gdb/m68klinux-tdep.c
@@ -290,6 +290,7 @@ m68k_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->jb_pc = M68K_LINUX_JB_PC;
tdep->jb_elt_size = M68K_LINUX_JB_ELEMENT_SIZE;
tdep->get_sigtramp_info = m68k_linux_get_sigtramp_info;
+ tdep->struct_return = reg_struct_return;
set_gdbarch_extract_return_value (gdbarch, m68k_linux_extract_return_value);
set_gdbarch_store_return_value (gdbarch, m68k_linux_store_return_value);