This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [0/9] Refactor floating-point format handling to add __float128 support
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: gdb-patches at sourceware dot org
- Date: Tue, 6 Sep 2016 17:37:01 +0200 (CEST)
- Subject: Re: [0/9] Refactor floating-point format handling to add __float128 support
- Authentication-results: sourceware.org; auth=none
> Hello,
>
> the goal of this patch series is to enable GDB to handle floating-point
> formats beyond the basic float / double / long double types. In particular,
> we want to support the __float128 type that already exists (and is handled
> incorrectly by GDB!) on Intel and Power today.
>
> One challenge to implement this is that currently, the floating-point format
> associated with a type may be determined on demand (when the type is first
> used), and at this point, we no longer have the original information from
> debug info used to define the type available.
>
> While it is already (optionally) possible to determine the floating-point
> format ahead of time, and attach it to the type's TPYE_FLOATFORMAT field,
> this is only done for a few types, and is in particular *not* done for
> types loaded from debug info.
>
> The main part of this patch series is therefore to systematically move
> determination of the floating-point format to when the type is first
> created, for all built-in and debug-info defined types. For the latter,
> instead of only looking at the type length, we provide a gdbarch callback
> to allow platform-specific overrides.
>
> Those overrides can then be used to enable platform-specific support for
> the __float128 type.
>
> As part of the rework to provide the format early, I've also reworked the
> init_type routine to make it more similar to arch_type, and added helpers
> like init_float_type similar to the existing arch_float_type. As a side
> effect, this allows us to finally get rid of the TYPE_FLAG_... values,
> which have been nearly fully unused (except as init_type argument) for
> a long time.
>
> Patch series tested on x86_64-linux and powerpc64le-linux.
I've checked this patch series in now.
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU/Linux compilers and toolchain
Ulrich.Weigand@de.ibm.com