Debugger support for __float128 type?

Joseph Myers joseph@codesourcery.com
Wed Sep 30 20:12:00 GMT 2015


On Wed, 30 Sep 2015, Ulrich Weigand wrote:

> - Extend the official DWARF standard in some way

I think you should do this.

Note that TS 18661-4 will be coming out very soon, and includes (optional) 
types

* _FloatN, where N is 16, 32, 64 or >= 128 and a multiple of 32;

* _DecimalN, where N >= 32 and a multiple of 32;

* _Float32x, _Float64x, _Float128x, _Decimal64x, _Decimal128x

so this is not simply a matter of supporting a GNU extension (not that 
it's simply a GNU extension on x86_64 anyway - __float128 is explicitly 
mentioned in the x86_64 ABI document), but of supporting an ISO C 
extension, in any case where one of the above types is the same size and 
radix as float / double / long double but has a different representation.

(All the above are distinct types in C, and distinct from float, double, 
long double even if the representations are the same.  But I don't think 
DWARF needs to distinguish e.g. float and _Float32 other than by their 
name - it's only the case of different representations that needs 
distinguishing.  The _Float* and _Float*x types have corresponding complex 
types, but nothing further should be needed in DWARF for those once you 
can represent _Float*.)

-- 
Joseph S. Myers
joseph@codesourcery.com



More information about the Gdb mailing list