CARP:
authorAndrew Cagney <cagney@redhat.com>
Wed, 16 Dec 1998 15:05:19 +0000 (15:05 +0000)
committerAndrew Cagney <cagney@redhat.com>
Wed, 16 Dec 1998 15:05:19 +0000 (15:05 +0000)
Swap the GDB builtin types when ever the architecture changes.

gdb/ChangeLog
gdb/gdbtypes.c

index 840415da3c7e49fff01f6d1f344b011b9a50183c..705b8906f7cd7617472cc808d558c18a2507ede4 100644 (file)
@@ -1,4 +1,10 @@
 start-sanitize-carp start-sanitize-vr4xxx
+Thu Dec 17 02:01:58 1998  Andrew Cagney  <cagney@chook>
+
+       * gdbtypes.c (_initialize_gdbtypes): Register all builtin types
+       with gdbarch so that they are updated whenever the architecture is
+       changed.
+
 Thu Dec 17 01:58:16 1998  Andrew Cagney  <cagney@chook>
 
        * gdbarch.h (GDB_MULTI_ARCH): New macro, default to zero.
index 2bc4003e3cc35aae996514efaa87e0af9cb25f69..8d3f3203b9e20a314cd4710ff57cc353fec5340f 100644 (file)
@@ -2003,4 +2003,40 @@ void
 _initialize_gdbtypes ()
 {
   build_gdbtypes ();
+  /* start-sanitize-carp start-sanitize-vr4xxx */
+  /* FIXME - For the moment, handle types by swapping them in and out.
+     Should be using the per-architecture data-pointer and a large
+     struct. */
+  register_gdbarch_swap (&builtin_type_void, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_char, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_short, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_int, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_long, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_long_long, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_signed_char, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_unsigned_char, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_unsigned_short, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_unsigned_int, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_unsigned_long, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_unsigned_long_long, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_float, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_double, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_long_double, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_complex, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_double_complex, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_string, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_int8, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_uint8, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_int16, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_uint16, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_int32, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_uint32, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_int64, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_uint64, sizeof (struct type*), NULL);
+  /* start-sanitize-r5900 */
+  register_gdbarch_swap (&builtin_type_int128, sizeof (struct type*), NULL);
+  register_gdbarch_swap (&builtin_type_uint128, sizeof (struct type*), NULL);
+  /* end-sanitize-r5900 */
+  register_gdbarch_swap (NULL, 0, build_gdbtypes);
+  /* end-sanitize-carp end-sanitize-vr4xxx */
 }