[PATCH], PowerPC long double transistion, patch #1

Segher Boessenkool segher@kernel.crashing.org
Tue Jun 19 20:58:00 GMT 2018


On Fri, Jun 15, 2018 at 08:43:52PM +0000, Joseph Myers wrote:
> On Thu, 14 Jun 2018, Michael Meissner wrote:
> 
> > Any other libgcc function that has a long double interface should get the
> > linker warning that the wrong type was used.
> 
> libgcc functions have interfaces corresponding to a particular machine 
> mode and names that vary depending on that mode - not interfaces directly 
> involving a type such as long double.  The interfaces for ibm128 format 
> are generally *tf* (or __gcc_q*) and those for ieee128 format are 
> generally *kf*.  As far as I know, all the previously observed issues with 
> some functions getting built for the wrong format have by now been fixed, 
> and if any more such issues arise in future, they are simply libgcc bugs 
> to be fixed in libgcc.
> 
> Because the names depend on the format not the type, there is no risk of 
> ABI inconsistency from linking with a libgcc function for the wrong 
> format, and so I think the linker warning is never relevant for linking 
> with libgcc (and once the glibc support is in, it won't be relevant for 
> linking with glibc either).  Linker warnings are relevant for the generic 
> case of a library that *doesn't* do anything special to support both 
> formats simultaneously - not for a library that properly handles getting 
> things right for both formats automatically.

Yes.  And as far as I see the same is true for *all* libgcc functions
(not only long double), so we can just as well turn off the gnu_attributes
warning for all of libgcc.


Segher



More information about the Gcc-patches mailing list