You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Are there stubs of functions that operate with long double types like roundl(), sinl() and so on? I can not find it. I found such stubs in glibc and newlib, hence I wonder shouldn't OpenLibm provide these stubs for the platforms which have long double equal to double type if the check below failed?
I was looking for this – a bit late but I hope it helps. When long double is double (aka. 64-bit floating-point), the files in src define aliases. For instance, src/s_nan.c has:
The mechanism used for weak references is defined in src/cdefs-compat.h, as you'd expect it varies heavily depending on the OS and compiler.
You can check that the weak symbol is indeed there by running objdump -t (or readelf, or any other tool) on a relevant object file.
% objdump -t src/s_nan.c.o
src/s_nan.c.o: file format elf32-big
SYMBOL TABLE:
...
000000fc w F .text 0000003c _nanl
000000fc g F .text 0000003c _nan
...
00000138 g F .text 00000034 _nanf
It can be missing if the weak reference mechanism doesn't work (this was the case for me, since on my architecture there are underscores before symbol names and src/cdefs-compat.h didn't account for it).
Are there stubs of functions that operate with long double types like
roundl()
,sinl()
and so on? I can not find it. I found such stubs in glibc and newlib, hence I wonder shouldn't OpenLibm provide these stubs for the platforms which havelong double
equal todouble
type if the check below failed?openlibm/src/Make.files
Lines 46 to 47 in f052f42
The text was updated successfully, but these errors were encountered: