[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