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

bpo-42545: Check that all symbols in the limited ABI are exported #23616

Merged
merged 1 commit into from Dec 4, 2020

Conversation

@pablogsal
Copy link
Member

@pablogsal pablogsal commented Dec 2, 2020

@pablogsal pablogsal force-pushed the pablogsal:stable_abi branch from c32bd2c to 7bc9a62 Dec 2, 2020
@pablogsal pablogsal requested a review from vstinner Dec 2, 2020
@pablogsal pablogsal force-pushed the pablogsal:stable_abi branch 17 times, most recently from cc22074 to 80d409f Dec 2, 2020
Copy link
Member

@vstinner vstinner left a comment

Nice script!

Should we check if PC/python3dll.c is outdated?

Tools/scripts/stable_abi.py Show resolved Hide resolved
@pablogsal
Copy link
Member Author

@pablogsal pablogsal commented Dec 4, 2020

Should we check if PC/python3dll.c is outdated?

I considered that, but that file has some other functions being exposed that are Windows dependent so we cannot technically use this script that runs on Linux. I will try to figure out another PR to keep that file updated.

@vstinner
Copy link
Member

@vstinner vstinner commented Dec 4, 2020

I considered that, but that file has some other functions being exposed that are Windows dependent so we cannot technically use this script that runs on Linux.

My request was more about checking from your script output if python3dll.c is complete or not. If there are differences between Windows and Linux in the ABI, maybe differences can be saved in a file used by your script?

I will try to figure out another PR to keep that file updated.

Sure. It's ok to first only focus on Linux.

@vstinner
Copy link
Member

@vstinner vstinner commented Dec 4, 2020

The CI fails :-)

Some symbols from the stable ABI are missing: PyCFunction_New
Makefile:1922: recipe for target 'check-limited-abi' failed
@pablogsal pablogsal force-pushed the pablogsal:stable_abi branch 3 times, most recently from 16e35d9 to 5049076 Dec 4, 2020
@pablogsal pablogsal force-pushed the pablogsal:stable_abi branch from 5049076 to e5002a6 Dec 4, 2020
@pablogsal
Copy link
Member Author

@pablogsal pablogsal commented Dec 4, 2020

The CI fails :-)

Whoops, wrong makefile invocation for shared libs. Fixed!

@pablogsal pablogsal force-pushed the pablogsal:stable_abi branch from e5002a6 to e0a5ad9 Dec 4, 2020
@pablogsal
Copy link
Member Author

@pablogsal pablogsal commented Dec 4, 2020

If there are differences between Windows and Linux in the ABI, maybe differences can be saved in a file used by your script?

I checked and the file needs some love (functions missing or old functions remaining), so I am going to defer fixes to that file for a later PR, maybe checking with @zooba.

@pablogsal pablogsal merged commit 85f1ded into python:master Dec 4, 2020
11 checks passed
11 checks passed
Docs
Details
Check for source changes
Details
Check if generated files are up to date
Details
Windows (x86)
Details
Windows (x64)
Details
macOS
Details
Ubuntu
Details
Azure Pipelines PR #20201204.40 succeeded
Details
Travis CI - Pull Request Build Passed
Details
bedevere/issue-number Issue number 42545 found
Details
bedevere/news "skip news" label found
@pablogsal pablogsal deleted the pablogsal:stable_abi branch Dec 4, 2020
Copy link

@tryalice tryalice left a comment

@pablogsal
Copy link
Member Author

@pablogsal pablogsal commented Dec 4, 2020

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

Successfully merging this pull request may close these issues.

None yet

5 participants
You can’t perform that action at this time.