aboutsummaryrefslogtreecommitdiff
path: root/gdb/amd64-tdep.h
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2010-01-29 05:19:23 +0000
committerJoel Brobecker <brobecker@gnat.com>2010-01-29 05:19:23 +0000
commitba581dc13b5e3ca555a49df501d5ac74287f504d (patch)
tree8264995f3071246435079ed1ef4e6118335caeff /gdb/amd64-tdep.h
parenta1504221ad15cfb08f22fd5548835d33f3d041de (diff)
downloadgdb-ba581dc13b5e3ca555a49df501d5ac74287f504d.zip
gdb-ba581dc13b5e3ca555a49df501d5ac74287f504d.tar.gz
gdb-ba581dc13b5e3ca555a49df501d5ac74287f504d.tar.bz2
amd64: Integer parameters in function calls on Windows.
gdb/ChangeLog: * i386-tdep.h (enum amd64_reg_class): New, moved here from amd64-tdep.c. (struct gdbarch_tdep): Add fields call_dummy_num_integer_regs, call_dummy_integer_regs, and classify. * amd64-tdep.h (amd64_classify): Add declaration. * amd64-tdep.c (amd64_dummy_call_integer_regs): New static constant. (amd64_reg_class): Delete, moved to i386-tdep.h. (amd64_classify): Make non-static. Move declaration to amd64-tdep.h. Replace call to amd64_classify by call to tdep->classify. (amd64_push_arguments): Get the list of registers to use for passing integer parameters from the gdbarch tdep structure, rather than using a hardcoded one. Replace calls to amd64_classify by calls to tdep->classify. (amd64_push_dummy_call): Get the register number used for the "hidden" argument from tdep->call_dummy_integer_regs. (amd64_init_abi): Initialize tdep->call_dummy_num_integer_regs and tdep->call_dummy_integer_regs. Set tdep->classify. * amd64-windows-tdep.c: Add include of gdbtypes.h. (amd64_windows_dummy_call_integer_regs): New static global. (amd64_windows_classify): New function. (amd64_windows_init_abi): Initialize tdep->call_dummy_num_integer_regs tdep->call_dummy_integer_regs and tdep->classify. gdb/testsuite/ChangeLog: * gdb.ada/call_pn: New testcase.
Diffstat (limited to 'gdb/amd64-tdep.h')
-rw-r--r--gdb/amd64-tdep.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/amd64-tdep.h b/gdb/amd64-tdep.h
index 3bff5d1..363479c 100644
--- a/gdb/amd64-tdep.h
+++ b/gdb/amd64-tdep.h
@@ -98,6 +98,9 @@ extern void amd64_supply_fxsave (struct regcache *regcache, int regnum,
extern void amd64_collect_fxsave (const struct regcache *regcache, int regnum,
void *fxsave);
+
+void amd64_classify (struct type *type, enum amd64_reg_class class[2]);
+
/* Variables exported from amd64nbsd-tdep.c. */