[PATCH] Handle 128-bit constants for fixed point

Tom Tromey tromey@adacore.com
Wed Dec 9 21:13:28 GMT 2020


>>>>> "Tom" == Tom Tromey <tromey@adacore.com> writes:

Tom> In some cases, GNAT can emit 128-bit constants for fixed-point types.
Tom> This patch changes gdb to handle this scenario, by changing the
Tom> low-level rational-reading functions in dwarf2/read.c to work directly
Tom> with gdb_mpz values.  (I'm not sure offhand if these 128-bit patches
Tom> have gone into upstream GCC yet -- but they will eventually, and
Tom> meanwhile I think it should be clear that this patch is otherwise
Tom> harmless.)

Tom> gdb/ChangeLog
Tom> 2020-11-16  Tom Tromey  <tromey@adacore.com>

Tom> 	* dwarf2/read.c (get_dwarf2_rational_constant): Change "numerator"
Tom> 	and "denominator" to gdb_mpz.  Handle block forms.
Tom> 	(get_dwarf2_unsigned_rational_constant): Change "numerator" and
Tom> 	"denominator" to gdb_mpz.
Tom> 	(finish_fixed_point_type): Update.
Tom> 	(has_zero_over_zero_small_attribute): Update.

I've rebased this, preserving the std::abs fix, and I'm checking it in
now.

Tom


More information about the Gdb-patches mailing list