diff options
author | Jim Blandy <jimb@codesourcery.com> | 2001-07-10 21:24:48 +0000 |
---|---|---|
committer | Jim Blandy <jimb@codesourcery.com> | 2001-07-10 21:24:48 +0000 |
commit | 75af7f6801beb09d1c2726a1c80b92ef92ee2fce (patch) | |
tree | af5b534d8b2d6132fa3a5d20412706372bd4930b /gdb/gdbarch.c | |
parent | ef166cf46a1b37daf20f3470f1478b9c1e2ddbc6 (diff) | |
download | gdb-75af7f6801beb09d1c2726a1c80b92ef92ee2fce.zip gdb-75af7f6801beb09d1c2726a1c80b92ef92ee2fce.tar.gz gdb-75af7f6801beb09d1c2726a1c80b92ef92ee2fce.tar.bz2 |
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.
Diffstat (limited to 'gdb/gdbarch.c')
-rw-r--r-- | gdb/gdbarch.c | 204 |
1 files changed, 0 insertions, 204 deletions
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index bac36c2..40da7a4 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -211,12 +211,6 @@ struct gdbarch gdbarch_push_dummy_frame_ftype *push_dummy_frame; gdbarch_push_return_address_ftype *push_return_address; gdbarch_pop_frame_ftype *pop_frame; - gdbarch_d10v_make_daddr_ftype *d10v_make_daddr; - gdbarch_d10v_make_iaddr_ftype *d10v_make_iaddr; - gdbarch_d10v_daddr_p_ftype *d10v_daddr_p; - gdbarch_d10v_iaddr_p_ftype *d10v_iaddr_p; - gdbarch_d10v_convert_daddr_to_raw_ftype *d10v_convert_daddr_to_raw; - gdbarch_d10v_convert_iaddr_to_raw_ftype *d10v_convert_iaddr_to_raw; gdbarch_store_struct_return_ftype *store_struct_return; gdbarch_store_return_value_ftype *store_return_value; gdbarch_extract_struct_value_address_ftype *extract_struct_value_address; @@ -386,12 +380,6 @@ struct gdbarch startup_gdbarch = 0, 0, 0, - 0, - 0, - 0, - 0, - 0, - 0, /* startup_gdbarch() */ }; @@ -695,12 +683,6 @@ verify_gdbarch (struct gdbarch *gdbarch) && (gdbarch->pop_frame == 0)) internal_error (__FILE__, __LINE__, "gdbarch: verify_gdbarch: pop_frame invalid"); - /* Skip verify of d10v_make_daddr, invalid_p == 0 */ - /* Skip verify of d10v_make_iaddr, invalid_p == 0 */ - /* Skip verify of d10v_daddr_p, invalid_p == 0 */ - /* Skip verify of d10v_iaddr_p, invalid_p == 0 */ - /* Skip verify of d10v_convert_daddr_to_raw, invalid_p == 0 */ - /* Skip verify of d10v_convert_iaddr_to_raw, invalid_p == 0 */ if ((GDB_MULTI_ARCH >= 2) && (gdbarch->store_struct_return == 0)) internal_error (__FILE__, __LINE__, @@ -1259,42 +1241,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) "POP_FRAME(-)", XSTRING (POP_FRAME (-))); #endif -#ifdef D10V_MAKE_DADDR - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "D10V_MAKE_DADDR(x)", - XSTRING (D10V_MAKE_DADDR (x))); -#endif -#ifdef D10V_MAKE_IADDR - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "D10V_MAKE_IADDR(x)", - XSTRING (D10V_MAKE_IADDR (x))); -#endif -#ifdef D10V_DADDR_P - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "D10V_DADDR_P(x)", - XSTRING (D10V_DADDR_P (x))); -#endif -#ifdef D10V_IADDR_P - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "D10V_IADDR_P(x)", - XSTRING (D10V_IADDR_P (x))); -#endif -#ifdef D10V_CONVERT_DADDR_TO_RAW - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "D10V_CONVERT_DADDR_TO_RAW(x)", - XSTRING (D10V_CONVERT_DADDR_TO_RAW (x))); -#endif -#ifdef D10V_CONVERT_IADDR_TO_RAW - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "D10V_CONVERT_IADDR_TO_RAW(x)", - XSTRING (D10V_CONVERT_IADDR_TO_RAW (x))); -#endif #if defined (STORE_STRUCT_RETURN) && GDB_MULTI_ARCH /* Macro might contain `[{}]' when not multi-arch */ fprintf_unfiltered (file, @@ -1999,48 +1945,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) (long) current_gdbarch->pop_frame /*POP_FRAME ()*/); #endif -#ifdef D10V_MAKE_DADDR - if (GDB_MULTI_ARCH) - fprintf_unfiltered (file, - "gdbarch_dump: D10V_MAKE_DADDR = 0x%08lx\n", - (long) current_gdbarch->d10v_make_daddr - /*D10V_MAKE_DADDR ()*/); -#endif -#ifdef D10V_MAKE_IADDR - if (GDB_MULTI_ARCH) - fprintf_unfiltered (file, - "gdbarch_dump: D10V_MAKE_IADDR = 0x%08lx\n", - (long) current_gdbarch->d10v_make_iaddr - /*D10V_MAKE_IADDR ()*/); -#endif -#ifdef D10V_DADDR_P - if (GDB_MULTI_ARCH) - fprintf_unfiltered (file, - "gdbarch_dump: D10V_DADDR_P = 0x%08lx\n", - (long) current_gdbarch->d10v_daddr_p - /*D10V_DADDR_P ()*/); -#endif -#ifdef D10V_IADDR_P - if (GDB_MULTI_ARCH) - fprintf_unfiltered (file, - "gdbarch_dump: D10V_IADDR_P = 0x%08lx\n", - (long) current_gdbarch->d10v_iaddr_p - /*D10V_IADDR_P ()*/); -#endif -#ifdef D10V_CONVERT_DADDR_TO_RAW - if (GDB_MULTI_ARCH) - fprintf_unfiltered (file, - "gdbarch_dump: D10V_CONVERT_DADDR_TO_RAW = 0x%08lx\n", - (long) current_gdbarch->d10v_convert_daddr_to_raw - /*D10V_CONVERT_DADDR_TO_RAW ()*/); -#endif -#ifdef D10V_CONVERT_IADDR_TO_RAW - if (GDB_MULTI_ARCH) - fprintf_unfiltered (file, - "gdbarch_dump: D10V_CONVERT_IADDR_TO_RAW = 0x%08lx\n", - (long) current_gdbarch->d10v_convert_iaddr_to_raw - /*D10V_CONVERT_IADDR_TO_RAW ()*/); -#endif #ifdef STORE_STRUCT_RETURN if (GDB_MULTI_ARCH) fprintf_unfiltered (file, @@ -3708,114 +3612,6 @@ set_gdbarch_pop_frame (struct gdbarch *gdbarch, gdbarch->pop_frame = pop_frame; } -CORE_ADDR -gdbarch_d10v_make_daddr (struct gdbarch *gdbarch, CORE_ADDR x) -{ - if (gdbarch->d10v_make_daddr == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_d10v_make_daddr invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_d10v_make_daddr called\n"); - return gdbarch->d10v_make_daddr (x); -} - -void -set_gdbarch_d10v_make_daddr (struct gdbarch *gdbarch, - gdbarch_d10v_make_daddr_ftype d10v_make_daddr) -{ - gdbarch->d10v_make_daddr = d10v_make_daddr; -} - -CORE_ADDR -gdbarch_d10v_make_iaddr (struct gdbarch *gdbarch, CORE_ADDR x) -{ - if (gdbarch->d10v_make_iaddr == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_d10v_make_iaddr invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_d10v_make_iaddr called\n"); - return gdbarch->d10v_make_iaddr (x); -} - -void -set_gdbarch_d10v_make_iaddr (struct gdbarch *gdbarch, - gdbarch_d10v_make_iaddr_ftype d10v_make_iaddr) -{ - gdbarch->d10v_make_iaddr = d10v_make_iaddr; -} - -int -gdbarch_d10v_daddr_p (struct gdbarch *gdbarch, CORE_ADDR x) -{ - if (gdbarch->d10v_daddr_p == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_d10v_daddr_p invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_d10v_daddr_p called\n"); - return gdbarch->d10v_daddr_p (x); -} - -void -set_gdbarch_d10v_daddr_p (struct gdbarch *gdbarch, - gdbarch_d10v_daddr_p_ftype d10v_daddr_p) -{ - gdbarch->d10v_daddr_p = d10v_daddr_p; -} - -int -gdbarch_d10v_iaddr_p (struct gdbarch *gdbarch, CORE_ADDR x) -{ - if (gdbarch->d10v_iaddr_p == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_d10v_iaddr_p invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_d10v_iaddr_p called\n"); - return gdbarch->d10v_iaddr_p (x); -} - -void -set_gdbarch_d10v_iaddr_p (struct gdbarch *gdbarch, - gdbarch_d10v_iaddr_p_ftype d10v_iaddr_p) -{ - gdbarch->d10v_iaddr_p = d10v_iaddr_p; -} - -CORE_ADDR -gdbarch_d10v_convert_daddr_to_raw (struct gdbarch *gdbarch, CORE_ADDR x) -{ - if (gdbarch->d10v_convert_daddr_to_raw == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_d10v_convert_daddr_to_raw invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_d10v_convert_daddr_to_raw called\n"); - return gdbarch->d10v_convert_daddr_to_raw (x); -} - -void -set_gdbarch_d10v_convert_daddr_to_raw (struct gdbarch *gdbarch, - gdbarch_d10v_convert_daddr_to_raw_ftype d10v_convert_daddr_to_raw) -{ - gdbarch->d10v_convert_daddr_to_raw = d10v_convert_daddr_to_raw; -} - -CORE_ADDR -gdbarch_d10v_convert_iaddr_to_raw (struct gdbarch *gdbarch, CORE_ADDR x) -{ - if (gdbarch->d10v_convert_iaddr_to_raw == 0) - internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_d10v_convert_iaddr_to_raw invalid"); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_d10v_convert_iaddr_to_raw called\n"); - return gdbarch->d10v_convert_iaddr_to_raw (x); -} - -void -set_gdbarch_d10v_convert_iaddr_to_raw (struct gdbarch *gdbarch, - gdbarch_d10v_convert_iaddr_to_raw_ftype d10v_convert_iaddr_to_raw) -{ - gdbarch->d10v_convert_iaddr_to_raw = d10v_convert_iaddr_to_raw; -} - void gdbarch_store_struct_return (struct gdbarch *gdbarch, CORE_ADDR addr, CORE_ADDR sp) { |