This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [PATCH/RFA] new builtin_type_{,u}int128
[Get raw message]
Jim Blandy writes:
>
> Looks good to me.
OK, committed.
Elena
>
> Elena Zannoni <ezannoni@cygnus.com> writes:
>
> >
> >
> > 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);
> >