[Python-Dev] Issue #23903 - stable API is incomplete

Steve Dower steve.dower at python.org
Wed Dec 21 12:11:13 EST 2016

"maybe the test suite should error out if any unexpected symbols appear in the stable ABI?"

This or on build (personally I prefer this sort of validation at build time, but I know others would prefer to defer it).

We have a script now that can extract all the right functions, though I think it'll only work in the source tree as it relies on clinic. But that should make it fairly straightforward to spit out a list and compare it to a checked in list.

At the same time, we have a problem in the current release, which is the functions I listed earlier. I would really like to fix that without blocking on getting the right long-term fix (since the immediate fix only affects one file in the Windows distribution, though it has implications for supportability).

Top-posted from my Windows Phone

-----Original Message-----
From: "Nathaniel Smith" <njs at pobox.com>
Sent: ‎12/‎21/‎2016 8:22
To: "Steve Dower" <steve.dower at python.org>
Cc: "Serhiy Storchaka" <storchaka at gmail.com>; "Victor Stinner" <victor.stinner at gmail.com>; "Python Dev" <python-dev at python.org>
Subject: Re: [Python-Dev] Issue #23903 - stable API is incomplete

On Dec 21, 2016 7:43 AM, "Steve Dower" <steve.dower at python.org> wrote:

"Ok, now why should _Py_PrintReferences() function be exported?"

It probably shouldn't, but it needs an #ifndef Py_LIMITED_API check so it is excluded from the headers (my list was automatically generated).

It sounds like the opt-out approach isn't working very well, and maybe an opt-in approach should be considered instead? I recognize that the way C headers work makes this difficult, but it seems like something needs to change. 

Or maybe the test suite should error out if any unexpected symbols appear in the stable ABI?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20161221/49fe2ff9/attachment.html>

More information about the Python-Dev mailing list