This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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]

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


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.

-- 
Joseph S. Myers
joseph@codesourcery.com


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