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

gh-106320: Move private _PyHash API to the internal C API #107026

Merged
merged 1 commit into from
Jul 22, 2023

Conversation

vstinner
Copy link
Member

@vstinner vstinner commented Jul 22, 2023

  • No longer export most private _PyHash symbols, only export the ones which are needed by shared extensions.
  • Modules/_xxtestfuzz/fuzzer.c now uses the internal C API.

* No longer export most private _PyHash symbols, only export the ones
  which are needed by shared extensions.
* Modules/_xxtestfuzz/fuzzer.c now uses the internal C API.
@vstinner vstinner requested a review from tiran as a code owner July 22, 2023 13:22
@vstinner vstinner enabled auto-merge (squash) July 22, 2023 13:28
@vstinner vstinner merged commit 89f9875 into python:main Jul 22, 2023
16 checks passed
@vstinner vstinner deleted the pycore_pyhash branch July 22, 2023 14:04
illia-v added a commit to illia-v/oss-fuzz that referenced this pull request Jul 28, 2023
`Modules/_xxtestfuzz/fuzzer.c` in CPython started using private API in python/cpython@89f9875#diff-a22ac7579f23068e0c6bcacf1086ee962fdf8e68725cf0510b42d0a389cf1efd.

This made fuzzing builds fail https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=60831.

Including needed header files fixes the error.
jonathanmetzman pushed a commit to google/oss-fuzz that referenced this pull request Jul 31, 2023
`Modules/_xxtestfuzz/fuzzer.c` in CPython started using private API in
python/cpython@89f9875#diff-a22ac7579f23068e0c6bcacf1086ee962fdf8e68725cf0510b42d0a389cf1efd.

This made fuzzing builds fail
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=60831.

Including needed header files fixes the error.
@skirpichev
Copy link
Member

Again, as in #108604, the gmpy2 uses some parts of this API, e.g. to hash mpz like int. Meanwhile I did aleaxit/gmpy#441 to workaround removed API. @vstinner, what we could do instead?

@vstinner
Copy link
Member Author

Again, as in #108604, the gmpy2 uses some parts of this API, e.g. to hash mpz like int. Meanwhile I did aleaxit/gmpy#441 to workaround removed API. @vstinner, what we could do instead?

Would you mind to open a new issue, give the exhaustive list of functions that you need, and which API do you expect?

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

Successfully merging this pull request may close these issues.

3 participants