Nick Coghlan wrote: > Regarding the warnings for this one - is there a way for the checker > to warn if data structures are exposed directly, rather than as opaque > types? It's fine if there isn't, it would just be cool if there was - > one of the premises of the stable ABI is that it *doesn't* expose the > type definitions directly to consuming code, just the pointers to them > (hence allowing the struct size to change without actually breaking > compatibility with the defined ABI). The ABI of the library can be dumped by the abi-compliance-checker basic tool to a text file in the human readable format, so anyone can analyse it in order to find problems of any kind. Homepage of the tool: https://github.com/lvc/abi-compliance-checker To dump the libpython ABI type: $> abi-compliance-checker -l libpython -dump descriptor.xml The descriptor.xml input file ({RELPATH} - path to the python install tree, i.e. installation "prefix"): <version> 3.4.0 </version> <headers> {RELPATH}/include </headers> <libs> {RELPATH}/lib/libpython3.4m.so.1.0 </libs> <skip_including> ast.h Python-ast.h asdl.h pyexpat.h pymactoolbox.h </skip_including> <gcc_options> -DPy_LIMITED_API=0x03020000 </gcc_options> I've already created the sample dump of the libpython-3.4.0 stable ABI here: http://upstream-tracker.org/downloads/libpython_3.4.0.abi.tar.gz In order to analyse data types in the ABI please read 'TypeInfo' section of the dump. I see several structures with exposed definition in the stable ABI v3.4.0: struct PyStructSequence_Desc struct grammar struct PyStructSequence_Field struct _node struct cchar_t struct PyType_Spec struct PyType_Slot struct dfa struct labellist struct PyMethodDef struct _Py_Identifier struct state struct PyVarObject struct arc struct label struct PyModuleDef struct PyModuleDef_Base struct PyMemberDef struct PyGetSetDef struct _object struct PyCursesWindowObject Thanks. -- Andrey Ponomarenko, NTC IT ROSA.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4