[PATCH/RFA] new builtin_type_{,u}int128

Elena Zannoni ezannoni@cygnus.com
Fri Nov 2 04:22:00 GMT 2001


This patch adds new builtin types int128 and uint128 to Gdb.

It allows gdb to deal with 128 bits wide registers, at least minimally. 

Elena

2001-11-13  Elena Zannoni  <ezannoni@redhat.com>

	From Andrew Cagney <cagney@redhat.com>:
	* gdbtypes.h (builtin_type_int128, builtin_type_uint128): Declare.
	* gdbtypes.c (_initialize_gdbtypes, build_gdbtypes): Initialize
	new builtin types.  


Index: gdbtypes.h
===================================================================
RCS file: /cvs/src/src/gdb/gdbtypes.h,v
retrieving revision 1.16
diff -u -p -r1.16 gdbtypes.h
--- gdbtypes.h	2001/09/08 10:16:57	1.16
+++ gdbtypes.h	2001/11/13 15:44:45
@@ -897,6 +897,8 @@ extern struct type *builtin_type_int32;
 extern struct type *builtin_type_uint32;
 extern struct type *builtin_type_int64;
 extern struct type *builtin_type_uint64;
+extern struct type *builtin_type_int128;
+extern struct type *builtin_type_uint128;
 
 /* SIMD types.  We inherit these names from GCC.  */
 extern struct type *builtin_type_v4sf;
Index: gdbtypes.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtypes.c,v
retrieving revision 1.26
diff -u -p -r1.26 gdbtypes.c
--- gdbtypes.c	2001/10/28 12:43:12	1.26
+++ gdbtypes.c	2001/11/13 15:47:23
@@ -67,6 +67,8 @@ struct type *builtin_type_int32;
 struct type *builtin_type_uint32;
 struct type *builtin_type_int64;
 struct type *builtin_type_uint64;
+struct type *builtin_type_int128;
+struct type *builtin_type_uint128;
 struct type *builtin_type_bool;
 struct type *builtin_type_v4sf;
 struct type *builtin_type_v4si;
@@ -2931,6 +2933,14 @@ build_gdbtypes (void)
     init_type (TYPE_CODE_INT, 64 / 8,
 	       TYPE_FLAG_UNSIGNED,
 	       "uint64_t", (struct objfile *) NULL);
+  builtin_type_int128 =
+    init_type (TYPE_CODE_INT, 128 / 8,
+	       0,
+	       "int128_t", (struct objfile *) NULL);
+  builtin_type_uint128 =
+    init_type (TYPE_CODE_INT, 128 / 8,
+	       TYPE_FLAG_UNSIGNED,
+	       "uint128_t", (struct objfile *) NULL);
   builtin_type_bool =
     init_type (TYPE_CODE_BOOL, TARGET_CHAR_BIT / TARGET_CHAR_BIT,
 	       0,
@@ -2944,7 +2954,6 @@ build_gdbtypes (void)
      &showlist);
   opaque_type_resolution = 1;
 
-
   /* Build SIMD types.  */
   builtin_type_v4sf
     = init_simd_type ("__builtin_v4sf", builtin_type_float, "f", 4);
@@ -3035,6 +3044,8 @@ _initialize_gdbtypes (void)
   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);
+  register_gdbarch_swap (&builtin_type_int128, sizeof (struct type *), NULL);
+  register_gdbarch_swap (&builtin_type_uint128, sizeof (struct type *), NULL);
   register_gdbarch_swap (&builtin_type_v4sf, sizeof (struct type *), NULL);
   register_gdbarch_swap (&builtin_type_v4si, sizeof (struct type *), NULL);
   register_gdbarch_swap (&builtin_type_v8qi, sizeof (struct type *), NULL);



More information about the Gdb-patches mailing list