[Python-Dev] libpython added to ABI tracker
"Martin v. Löwis"
martin at v.loewis.de
Wed Apr 2 22:55:57 CEST 2014
Am 01.04.14 13:45, schrieb Nick Coghlan:
> Interesting to see the UCS2 removal there for 3.3. That's a genuine
> removal from the public ABI as part of PEP 393. I guess the reason
> nobody complained is because most 3.2 Linux builds used the UCS4 ABI
> instead, and the stable ABI hadn't seen broad adoption on Windows in
> the 3.2->3.3 time frame.
Not really. The intention was that the stable ABI wouldn't have any
UCS2/UCS4 denotation in the function names, see
http://hg.python.org/cpython/file/9186f4a18584/PC/python3.def
Functions that explicitly referred to Py_UNICODE were banned from
the ABI; functions that were mapped but shouldn't have been mapped
were meant to be unmapped.
However, it seems that this wasn't properly implemented, see
http://bugs.python.org/issue17432
> Regardless, this service already shows we've made some mistakes with
> the stable ABI in previous releases - it is indicating there are new
> symbols in the stable ABI for 3.3 and 3.4 that aren't properly guarded
> with version constraints. That means it is currently possible to set
> Py_LIMITED_API=0x03020000 and get something that won't actually run
> properly on 3.2.
Depends on the operating system. On Windows, the import library has
much less additions; anything declared in the header files that
is not in python3.def is a bug in the header files (by default).
Regards,
Martin
More information about the Python-Dev
mailing list