On Mon, Oct 04, 2021 at 01:36:56PM +0200, Jakub Jelinek via Gcc wrote: > On Mon, Oct 04, 2021 at 01:24:05PM +0200, Richard Biener wrote: > > > Your thoughts on this? > > > > How does glibc deal with this? There's a load of long double ABI in there. > > I don't know, CCing Florian; all I can see is that starting with glibc 2.26 > in addition to sin{f,,l} there is also sinf128, but dunno if glibc headers > transparently map sinl to sinf128 or something else for the IEEE quad long > double or what. But I believe glibc is like libstdc++ in that the same > libc.so.6 is ABI compatible with both ABIs (well, also the one where > long double is double, in that case I think glibc headers transparently > remap sinl to sin etc.).
Carlos said it is the __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 stuff in math.h etc., so I expect it is actually sinl -> __sinieee128 redirection (using extern long double sinl (long double) __asm ("__sinieee128"); or so, but through a lot of preprocessor macros). Jakub