Skip to content

Conversation

@pablogsal
Copy link
Member

@pablogsal pablogsal commented Dec 28, 2025

Changes to internal structs in Include/internal/pycore_*.h cause false
positive ABI violations in make check-abidump because these types are
transitively reachable from public APIs like PyInterpreterState. The
internal struct layout is not part of the public ABI contract.

This adds a suppression specification file that filters out types
defined in pycore_*.h files using a regex pattern, and explicitly
suppresses PyInterpreterState, _PyRuntimeState, and PyThreadState
which are public typedefs aliasing internal structs. The Makefile
is updated to pass the suppression file to abidiff.

Changes to internal structs in Include/internal/pycore_*.h cause false
positive ABI violations in make check-abidump because these types are
transitively reachable from public APIs like PyInterpreterState. The
internal struct layout is not part of the public ABI contract.

This adds a suppression specification file that filters out types
defined in pycore_*.h files using a regex pattern, and explicitly
suppresses PyInterpreterState, _PyRuntimeState, and PyThreadState
which are public typedefs aliasing internal structs. The Makefile
is updated to pass the suppression file to abidiff.
@pablogsal
Copy link
Member Author

CC @Yhg1s @hugovk @savannahostrowski

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.

1 participant