-
Notifications
You must be signed in to change notification settings - Fork 138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A few API functions were (accidentally?) removed in 3.6 #534
Comments
I bisected this to 1d66bbd. The changes in 1d66bbd#diff-6a6c4d54f858f55978b29ae41b00d4a8b484ddf7908a136abd4f9a003458d2c3L312 |
Good point. It seems that scalar long double/quad sincospi implementation was removed along with the long double DFT (where it was used). Maybe a bit of background from @shibatch could help? What would be the process to fix 3.6? Would we simply have to create a new patch release? I will be officially AFK until April 22 (sabbatical), but @joanaxcruz, @joeramsay and @shibatch might be able to follow up on this one. |
I’m going to hold off on updating the Fedora package past 3.5.1 for up to another month or two, in the hope that it will still be possible to avoid an ABI break (and update Sleef in existing stable releases). |
Hi! Sorry about the delay in responding to that. We are planning a patch release including a fix for that in the next month. Will post more in discussions. |
Thanks for the update! |
Add a new workflow to detect unexpected backward-incompatible changes at precommit, by comparing current version against a reference version, both generated on Linux with gcc. It uses abidiff to compare ELF-format shared libraries. This is the tool used by Fedora to report a recent breach in API shibatch#534. Test should fail until it is fixed by shibatch#545.
Add a new workflow to detect unexpected backward-incompatible changes at precommit, by comparing current version against a reference version, both generated on Linux with gcc. It uses abidiff to compare ELF-format shared libraries. This is the tool used by Fedora to report a recent breach in API shibatch#534. Test should fail until it is fixed by shibatch#545. Change-Id: I2e4efa4682e05d351535cf66cfc4adc806f6a67b
Add a new workflow to detect unexpected backward-incompatible changes at precommit, by comparing current version against a reference version, both generated on Linux with gcc. It uses abidiff to compare ELF-format shared libraries. This is the tool used by Fedora to report a recent breach in API shibatch#534. Test should fail until it is fixed by shibatch#545.
Add a new workflow to detect unexpected backward-incompatible changes at precommit, by comparing current version against a reference version, both generated on Linux with gcc. It uses abidiff to compare ELF-format shared libraries. This is the tool used by Fedora to report a recent breach in API shibatch#534. Test should fail until it is fixed by shibatch#545.
Add a new workflow to detect unexpected backward-incompatible changes at precommit, by comparing current version against a reference version, both generated on Linux with gcc. It uses abidiff to compare ELF-format shared libraries. This is the tool used by Fedora to report a recent breach in API shibatch#534. Test should fail until it is fixed by shibatch#545.
Add a new workflow to detect unexpected backward-incompatible changes at precommit, by comparing current version against a reference version, both generated on Linux with gcc. It uses abidiff to compare ELF-format shared libraries. This is the tool used by Fedora to report a recent breach in API shibatch#534. Test should fail until it is fixed by shibatch#545.
Add a new workflow to detect unexpected backward-incompatible changes at precommit, by comparing current version against a reference version, both generated on Linux with gcc. It uses abidiff to compare ELF-format shared libraries. This is the tool used by Fedora to report a recent breach in API shibatch#534. Test should fail until it is fixed by shibatch#545.
Add a new workflow to detect unexpected backward-incompatible changes at precommit, by comparing current version against a reference version, both generated on Linux with gcc. It uses abidiff to compare ELF-format shared libraries. This is the tool used by Fedora to report a recent breach in API shibatch#534. Test should fail until it is fixed by shibatch#545.
Add a new workflow to detect unexpected backward-incompatible changes at precommit, by comparing current version against a reference version, both generated on Linux with gcc. It uses abidiff to compare ELF-format shared libraries. This is the tool used by Fedora to report a recent breach in API shibatch#534. Test should fail until it is fixed by shibatch#545.
@musicinmybrain We are about to merge #545 which should restore the missing symbols. Please re-open issue if needed, it should close automatically on merge. |
I can confirm that applying https://github.com/shibatch/sleef/pull/545.patch to the 3.6 release restores the missing functions, at least on |
Thanks! This should be cross platform, tested it on both x86 and aarch64. |
Since PyTorch still needed a |
Sounds sensible! |
To be honest, I haven’t studied this closely enough to give really high-quality advice. However, at a glance, from the compiler errors without the PyTorch change, e.g.
it looks like using became incompatible. Now they look like: Presumably this would affect anything that’s taking pointers to sleef functions without using C++/C23 It’s unfortunate that this technically changed the API, because If you try to fix this in sleef somehow, it’s probably a good idea to make sure to examine the PyTorch workaround and/or coordinate with the PyTorch people to make sure that the fix doesn’t break PyTorch again. |
Add a new workflow to detect unexpected backward-incompatible changes at precommit, by comparing current version against a reference version, both generated on Linux with gcc. It uses abidiff to compare ELF-format shared libraries. This is the tool used by Fedora to report a recent breach in API #534. Test should fail until it is fixed by #545.
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
andSleef_sincospil_u35
were documented API functions.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:sleef/src/libm/rename.h
Lines 175 to 181 in a99491a
While nothing in
rename.h
has changed between 3.5.1 and 3.6, maybe this was affected by changes inmkrename.c
?The text was updated successfully, but these errors were encountered: