From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cagney To: Jim Blandy Cc: gdb-patches@sources.redhat.com Subject: Re: RFA: Revised: Remove D10V-specific code from arch-independent modules Date: Thu, 05 Jul 2001 22:52:00 -0000 Message-id: <3B455222.7080106@cygnus.com> References: <20010705230538.F067A5E9D8@zwingli.cygnus.com> X-SW-Source: 2001-07/msg00142.html FYI, I'm fine with this bit (which doesn't help cos the other bits need to go in first :-/) Andrew > 2001-06-28 Jim Blandy > > Clean up the D10V port so that GDB and the target program no > longer disagree on how big pointers are. > * findvar.c (value_from_register): Remove special case code for D10V. > * printcmd.c (print_frame_args): Same. > * valops.c (value_at, value_fetch_lazy): Same. > * values.c (unpack_long): Same. > * gdbarch.sh: Changes to effect the following: > * gdbarch.h (GDB_TARGET_IS_D10V, D10V_MAKE_DADDR, > gdbarch_d10v_make_daddr_ftype, gdbarch_d10v_make_daddr, > set_gdbarch_d10v_make_daddr, D10V_MAKE_IADDR, > gdbarch_d10v_make_iaddr_ftype, gdbarch_d10v_make_iaddr, > set_gdbarch_d10v_make_iaddr, D10V_DADDR_P, > gdbarch_d10v_daddr_p_ftype, gdbarch_d10v_daddr_p, > set_gdbarch_d10v_daddr_p, D10V_IADDR_P, > gdbarch_d10v_iaddr_p_ftype, gdbarch_d10v_iaddr_p, > set_gdbarch_d10v_iaddr_p, D10V_CONVERT_DADDR_TO_RAW, > gdbarch_d10v_convert_daddr_to_raw_ftype, > gdbarch_d10v_convert_daddr_to_raw, > set_gdbarch_d10v_convert_daddr_to_raw, D10V_CONVERT_IADDR_TO_RAW, > gdbarch_d10v_convert_iaddr_to_raw_ftype, > gdbarch_d10v_convert_iaddr_to_raw, > set_gdbarch_d10v_convert_iaddr_to_raw): Delete declarations. > * gdbarch.c: Delete the corresponding definitions. > (struct gdbarch): Delete members d10v_make_daddr, > d10v_make_iaddr, d10v_daddr_p, d10v_iaddr_p, > d10v_convert_daddr_to_raw, and d10v_convert_iaddr_to_raw. > (startup_gdbarch): Remove initializers for the above. > (verify_gdbarch, gdbarch_dump): Don't verify or dump them any > more. > * d10v-tdep.c (d10v_register_virtual_type): Rather that > claiming the stack pointer and PC are 32 bits long (which they > aren't), say that the stack pointer is an int16_t, and the > program counter is a function pointer. This allows the rest > of GDB to make the appropriate conversions between the code > pointer format and real addresses. > (d10v_register_convertible, d10v_register_convert_to_virtual, > d10v_register_convert_to_raw): Delete function; no registers > are convertible now, so we use > generic_register_convertible_not instead. > (d10v_address_to_pointer, d10v_pointer_to_address): New gdbarch > methods. > (d10v_push_arguments, d10v_extract_return_value): Remove special > cases for code and data pointers. > (d10v_gdbarch_init): Set gdbarch_ptr_bit to 16, so that GDB and > the target agree on how large pointers are. Say that addresses > are 32 bits long. Register the address_to_pointer and > pointer_to_address conversion functions. Since no registers are > convertible now, register generic_register_convertible_not as the > gdbarch_register_convertible method instead of > d10v_register_convertible. Remove registrations for > d10v_register_convert_to_virtual, > d10v_register_convert_to_raw, gdbarch_d10v_make_daddr, > gdbarch_d10v_make_iaddr, gdbarch_d10v_daddr_p, > gdbarch_d10v_iaddr_p, gdbarch_d10v_convert_daddr_to_raw, and > gdbarch_d10v_convert_iaddr_to_raw. >