[Python-Dev] Stable ABI

Christian Tismer tismer at stackless.com
Sun Jun 3 10:55:25 EDT 2018

On 03.06.18 13:18, Ronald Oussoren wrote:
>> On 3 Jun 2018, at 12:03, Christian Tismer <tismer at stackless.com> wrote:

>> I have written a script that scans all relevant header files
>> and analyses all sections which are reachable in the limited API
>> context.
>> All macros that don't begin with an underscore which contain
>> a "->tp_" string are the locations which will break.
>> I found exactly 7 locations where this is the case.
>> My PR will contain the 7 fixes plus the analysis script
>> to go into tools. Preparind that in the evening.
> Having tests would still be nice to detect changes to the stable ABI when they are made. 
> Writing those tests is quite some work though, especially if those at least smoke test the limited ABI by compiling snippets the use all symbols that should be exposed by the limited ABI. Writing those tests should be fairly simple for someone that knows how to write C extensions, but is some work.
> Writing a tests that complain when the headers expose symbols that shouldn’t be exposed is harder, due to the need to parse headers (either by hacking something together using regular expressions, or by using tools like gccxml or clang’s C API).  

What do you mean?
My script does that with all "tp_*" type fields.
What else would you want to check?

Christian Tismer-Sperling    :^)   tismer at stackless.com
Software Consulting          :     http://www.stackless.com/
Karl-Liebknecht-Str. 121     :     http://pyside.org
14482 Potsdam                :     GPG key -> 0xFB7BEE0E
phone +49 173 24 18 776  fax +49 (30) 700143-0023

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 522 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/python-dev/attachments/20180603/f7628123/attachment.sig>

More information about the Python-Dev mailing list