This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[0/9] Refactor floating-point format handling to add __float128 support


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.

Any thoughts?

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU/Linux compilers and toolchain
  Ulrich.Weigand@de.ibm.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]