-
Notifications
You must be signed in to change notification settings - Fork 141
Closed
Description
Although sleef 3.6 is supposed to be an ABI-compatible update for 3.5.1 (the SONAME version is still 3), comparing the main shared library using fedabipkgdiff
from libabigail shows that a handful of symbols were removed. Of these, Sleef_sincospil_u05
and Sleef_sincospil_u35
were documented API functions.
Comparing the ABI of binaries between sleef-3.5.1-33.fc41.x86_64.rpm and sleef-3.6-1.fc41.x86_64.rpm:
================ changes of 'libsleef.so.3.5.1'===============
Functions changes summary: 4 Removed, 67 Changed (1796 filtered out), 148 Added functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
4 Removed functions:
[D] 'function const Sleef_longdouble2 Sleef_sincospil_u05(long double)' {Sleef_sincospil_u05}
[D] 'function const Sleef_longdouble2 Sleef_sincospil_u35(long double)' {Sleef_sincospil_u35}
[D] 'function const Sleef_quad2 Sleef_sincospiq_u05(Sleef_quad)' {Sleef_sincospiq_u05}
[D] 'function const Sleef_quad2 Sleef_sincospiq_u35(Sleef_quad)' {Sleef_sincospiq_u35}
This is on x86_64
; I haven’t checked other architectures.
In a quick glance at the source code, it wasn’t immediately obvious to me why these symbols disappeared. I do notice that they are all at the end of rename.h
, after a comment line:
Lines 175 to 181 in a99491a
// | |
#define xsincospil_u05 Sleef_sincospil_u05 | |
#define xsincospil_u35 Sleef_sincospil_u35 | |
#define xsincospiq_u05 Sleef_sincospiq_u05 | |
#define xsincospiq_u35 Sleef_sincospiq_u35 |
While nothing in rename.h
has changed between 3.5.1 and 3.6, maybe this was affected by changes in mkrename.c
?
Metadata
Metadata
Assignees
Labels
No labels