Skip to content
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

release: Checking binary compatibility #1136

Closed
real-or-random opened this issue Aug 24, 2022 · 7 comments · Fixed by #1380
Closed

release: Checking binary compatibility #1136

real-or-random opened this issue Aug 24, 2022 · 7 comments · Fixed by #1380

Comments

@real-or-random
Copy link
Contributor

When looking into binary compatibility (see #1055, #964), I found this nice website which describes best practices and open source tools for checking binary compatibility: https://abi-laboratory.pro This may be something to look into after the first release (but maybe before the second release).

See for example the report for Botan, which by the way doesn't provide binary compatibility across versions at all.

@real-or-random real-or-random changed the title Checking binary compatibility release: Checking binary compatibility Dec 12, 2022
@hebasto
Copy link
Member

hebasto commented Apr 15, 2023

FWIW, here is what I've got for the recent releases:

UPD.
For 0.3.0 --> 0.3.1:

@sipa
Copy link
Contributor

sipa commented Apr 15, 2023

@hebasto I don't understand how that commit can have any effect on the public ABI.

@hebasto
Copy link
Member

hebasto commented Apr 15, 2023

@hebasto I don't understand how that commit can have any effect on the public ABI.

Neither do I. That was reported by the tool. Maybe a false positive report?

@sipa
Copy link
Contributor

sipa commented Apr 15, 2023

In fact, both claimed versions sound incorrect. The third (tweak32) argument on x86_64 calling convention should be passed in the rdx register.

@hebasto
Copy link
Member

hebasto commented Apr 15, 2023

No issues with gcc-10:

@real-or-random
Copy link
Contributor Author

Interestingly, the dumps generated with gcc 10 don't have any "Reg"(ister) entries in their json file, whereas the dumps generated with gcc 11 list registers for some arguments...

Maybe open an issue with the tool?

@hebasto
Copy link
Member

hebasto commented Jul 18, 2023

Interestingly, the dumps generated with gcc 10 don't have any "Reg"(ister) entries in their json file, whereas the dumps generated with gcc 11 list registers for some arguments...

Maybe open an issue with the tool?

The issue has been solved by forcing DWARF v4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants