diff options
author | Joel Brobecker <brobecker@gnat.com> | 2013-09-24 16:14:15 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2013-09-24 16:14:15 +0000 |
commit | bf4d6c1cfc72fc4d60becc31cb9076d3185c8cfe (patch) | |
tree | 53326a3d29b8f7f02aba5858ee978feb0b3a10fd /gdb/i386-tdep.h | |
parent | 849e9755046dee69b1032fd2a9d9001cd69ca2c7 (diff) | |
download | gdb-bf4d6c1cfc72fc4d60becc31cb9076d3185c8cfe.zip gdb-bf4d6c1cfc72fc4d60becc31cb9076d3185c8cfe.tar.gz gdb-bf4d6c1cfc72fc4d60becc31cb9076d3185c8cfe.tar.bz2 |
Revert use of classify callback in i386 gdbarch_tdep.
This is no longer useful, as it was introduced to reuse the funcall
handling code in amd64-tdep.c in the context of x64-windows. But
we have since then changed the implementations to be completely
independent of each other.
This reverts the non-windows-specific part of the change called:
amd64: Integer parameters in function calls on Windows
(the x64-windows portion has already been reverted)
gdb/ChangeLog:
Revert:
* 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.
Diffstat (limited to 'gdb/i386-tdep.h')
-rw-r--r-- | gdb/i386-tdep.h | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/gdb/i386-tdep.h b/gdb/i386-tdep.h index 0c408fa..092744c 100644 --- a/gdb/i386-tdep.h +++ b/gdb/i386-tdep.h @@ -52,20 +52,6 @@ enum struct_return reg_struct_return /* Return "short" structures in registers. */ }; -/* Register classes as defined in the AMD x86-64 psABI. */ - -enum amd64_reg_class -{ - AMD64_INTEGER, - AMD64_SSE, - AMD64_SSEUP, - AMD64_X87, - AMD64_X87UP, - AMD64_COMPLEX_X87, - AMD64_NO_CLASS, - AMD64_MEMORY -}; - /* i386 architecture specific information. */ struct gdbarch_tdep { @@ -75,16 +61,6 @@ struct gdbarch_tdep int gregset_num_regs; size_t sizeof_gregset; - /* The general-purpose registers used to pass integers when making - function calls. This only applies to amd64, as all parameters - are passed through the stack on x86. */ - int call_dummy_num_integer_regs; - int *call_dummy_integer_regs; - - /* Classify TYPE according to calling conventions, and store - the result in CLASS. Used on amd64 only. */ - void (*classify) (struct type *type, enum amd64_reg_class class[2]); - /* Floating-point registers. */ struct regset *fpregset; size_t sizeof_fpregset; |