diff options
author | Joel Brobecker <brobecker@gnat.com> | 2010-01-29 05:19:23 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2010-01-29 05:19:23 +0000 |
commit | ba581dc13b5e3ca555a49df501d5ac74287f504d (patch) | |
tree | 8264995f3071246435079ed1ef4e6118335caeff /gdb/amd64-tdep.h | |
parent | a1504221ad15cfb08f22fd5548835d33f3d041de (diff) | |
download | gdb-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.h | 3 |
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. */ |