objutils 0.10.20__tar.gz → 0.10.21__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {objutils-0.10.20 → objutils-0.10.21}/.github/workflows/pythonapp.yml +7 -7
- {objutils-0.10.20 → objutils-0.10.21}/PKG-INFO +1 -1
- {objutils-0.10.20 → objutils-0.10.21}/objutils/__init__.py +1 -1
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_elf.py +83 -1
- {objutils-0.10.20 → objutils-0.10.21}/objutils/version.py +1 -1
- {objutils-0.10.20 → objutils-0.10.21}/pyproject.toml +2 -2
- {objutils-0.10.20 → objutils-0.10.21}/.clang-format +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.codacy.yml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.codeclimate.yml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.coveralls.yml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.github/FUNDING.yml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.github/ISSUE_TEMPLATE/documentation.yml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.github/ISSUE_TEMPLATE.md +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.github/copilot-instructions.md +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.gitignore +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.idea/.gitignore +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.idea/copilot.data.migration.ask2agent.xml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.idea/deployment.xml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.idea/misc.xml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.idea/modules.xml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.idea/objutils@1.iml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.idea/pyLspTools.xml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.idea/pyProjectModel.xml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.idea/vcs.xml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.pre-commit-config.yaml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.pylintrc +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.readthedocs.yml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/.travis.yml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/CMakeLists.txt +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/CODE_OF_CONDUCT.md +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/CONTRIBUTORS +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/LICENSE +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/MANIFEST.in +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/PULL_REQUEST_TEMPLATE.md +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/appveyor.yml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/bandit.yml +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/Data_Formats.pdf +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/ELF_Format.pdf +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/KNOWN_GOOD_DWARF_REFERENCE.md +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/README.rst +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/apidoc.sh +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/conf.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.buildinfo +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.buildinfo.bak +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/README.doctree +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/environment.pickle +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/howto.doctree +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/index.doctree +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/installation.doctree +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/modules.doctree +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/objutils.doctree +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/objutils.elf.doctree +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/scripts.doctree +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/session.doctree +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/tutorial.doctree +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/README.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_images/objutils_basic.png +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/index.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/ash.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/binfile.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/checksums.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/cosmac.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/elf/defs.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/elf.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/emon52.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/etek.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/exceptions.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/fpc.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/hexdump.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/hexfile.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/ihex.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/image.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/logger.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/mostec.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/pickleif.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/rca.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/readers.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/registry.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/section.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/sig.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/srec.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/tek.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/titxt.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/utils.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/README.rst.txt +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/howto.rst.txt +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/index.rst.txt +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/installation.rst.txt +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/modules.rst.txt +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/objutils.elf.rst.txt +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/objutils.rst.txt +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/scripts.rst.txt +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/session.rst.txt +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/tutorial.rst.txt +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/alabaster.css +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/basic.css +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/check-solid.svg +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/clipboard.min.js +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/copy-button.svg +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/copybutton.css +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/copybutton.js +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/copybutton_funcs.js +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/custom.css +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/doctools.js +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/documentation_options.js +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/file.png +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/github-banner.svg +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/language_data.js +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/minus.png +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/plus.png +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/pygments.css +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/scripts/bootstrap.js +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/scripts/bootstrap.js.LICENSE.txt +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/scripts/fontawesome.js +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/scripts/fontawesome.js.LICENSE.txt +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/scripts/pydata-sphinx-theme.js +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/searchtools.js +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/sphinx_highlight.js +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/styles/pydata-sphinx-theme.css +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/styles/theme.css +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.ttf +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.ttf +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.ttf +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/webpack-macros.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/genindex.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/howto.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/index.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/installation.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/modules.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/objects.inv +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/objutils.elf.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/objutils.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/py-modindex.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/scripts.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/search.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/searchindex.js +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/session.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/tutorial.html +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/elf-64-gen.pdf +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/example0.srec +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/howto.rst +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/index.rst +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/installation.rst +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/make.bat +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/modules.rst +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/objutils.elf.rst +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/objutils.rst +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/objutils_banner.png +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/objutils_basic.png +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/objutils_dark.jpg +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/objutils_social.jpg +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/requirements.txt +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/scripts.rst +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/session.rst +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/tutorial.rst +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/docs/tutorial1.ipynb +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/.coveragerc +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/.vscode/launch.json +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/.vscode/settings.json +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/a2l_test.shf +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/ash.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/binfile.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/checksums.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/cosmac.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/__init__.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/attrparser.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/c_generator.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/constants.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/encoding.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/lineprog.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/readers.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/sm.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/traverser.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/elf/__init__.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/elf/arm/__init__.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/elf/arm/attributes.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/elf/defs.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/elf/model.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/emon52.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/etek.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/exceptions.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/__init__.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/ctre.hpp +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/difflib.h +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/elf_parser.cpp +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/elf_parser.hpp +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/exceptions.cpp +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/exceptions.hpp +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/hexfile.cpp +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/wrapper.cpp +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/fpc.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/hexdump.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/hexfile.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/ieee695.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/ihex.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/image.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/logger.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/mostec.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/objutils.code-workspace +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/oocdtxt.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/pecoff/__init__.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/pecoff/defs.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/pecoff/model.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/pecoff/pdb/__init__.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/pickleif.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/rca.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/readers.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/registry.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/arduino_build_artifacts.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_cgen.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_coff_extract.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_coff_import.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_coff_info.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_coff_syms.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_dwarf_import.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_dwarf_info.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_elf_arm_attrs.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_elf_extract.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_elf_import.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_elf_info.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_elf_syms.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_hex_info.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_hex_merge.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_hex_split.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/section.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/shf.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/sig.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/srec.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/symbols.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tek.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/__init__.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_arm_attributes.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_asam_alternate_modes.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_ash.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_c_generator.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_checksums.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_cygpath.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_diff_bin.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_emon52.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_etek.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_examples_cgen.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_extended.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_fpc.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_hexdump.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_hexfile.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_ihex.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_image.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_mostec.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_oocdtxt.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_pdb_typeinfo_dump.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_probe_uniqueness.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_readers.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_registry.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_repr.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_section.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_section_join.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_shf.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_sm.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_srec.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_tek.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_titext.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/titxt.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/utils/__init__.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/utils/arduino.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/objutils/utils/diff.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/poetry.lock +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/requirements.txt +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/setup.cfg +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/setup.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/test_join_sections.py +0 -0
- {objutils-0.10.20 → objutils-0.10.21}/test_requirements.txt +0 -0
|
@@ -22,12 +22,12 @@ jobs:
|
|
|
22
22
|
- os: windows-latest
|
|
23
23
|
cibw_archs_windows: AMD64
|
|
24
24
|
steps:
|
|
25
|
-
- uses: actions/checkout@
|
|
26
|
-
- uses: pypa/cibuildwheel@
|
|
25
|
+
- uses: actions/checkout@v7
|
|
26
|
+
- uses: pypa/cibuildwheel@v4.1.0
|
|
27
27
|
env:
|
|
28
28
|
CIBW_ARCHS_WINDOWS: ${{ matrix.cibw_archs_windows || '' }}
|
|
29
29
|
CIBW_ARCHS_MACOS: arm64
|
|
30
|
-
- uses: actions/upload-artifact@
|
|
30
|
+
- uses: actions/upload-artifact@v7
|
|
31
31
|
with:
|
|
32
32
|
name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
|
|
33
33
|
path: ./wheelhouse/*.whl
|
|
@@ -36,12 +36,12 @@ jobs:
|
|
|
36
36
|
name: Build source distribution
|
|
37
37
|
runs-on: ubuntu-latest
|
|
38
38
|
steps:
|
|
39
|
-
- uses: actions/checkout@
|
|
39
|
+
- uses: actions/checkout@v7
|
|
40
40
|
- name: Build sdist
|
|
41
41
|
run: |
|
|
42
42
|
pip install -U build
|
|
43
43
|
python -m build --sdist
|
|
44
|
-
- uses: actions/upload-artifact@
|
|
44
|
+
- uses: actions/upload-artifact@v7
|
|
45
45
|
with:
|
|
46
46
|
path: dist/*.tar.gz
|
|
47
47
|
include-hidden-files: true
|
|
@@ -53,11 +53,11 @@ jobs:
|
|
|
53
53
|
id-token: write
|
|
54
54
|
contents: read
|
|
55
55
|
steps:
|
|
56
|
-
- uses: actions/download-artifact@
|
|
56
|
+
- uses: actions/download-artifact@v8
|
|
57
57
|
with:
|
|
58
58
|
path: dist
|
|
59
59
|
merge-multiple: true
|
|
60
60
|
- name: Publish package to PyPI
|
|
61
|
-
uses: pypa/gh-action-pypi-publish@v1.
|
|
61
|
+
uses: pypa/gh-action-pypi-publish@v1.14.0
|
|
62
62
|
with:
|
|
63
63
|
attestations: true
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: objutils
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.21
|
|
4
4
|
Summary: Objectfile library for Python
|
|
5
5
|
Keywords: hex files,intel hex,s19,srec,srecords,object files,map files,embedded,microcontroller,ECU,shf,rfc4194
|
|
6
6
|
Author-Email: Christoph Schueler <cpu12.gems@googlemail.com>
|
|
@@ -10,12 +10,14 @@ Based on the actual ElfParser API which uses:
|
|
|
10
10
|
"""
|
|
11
11
|
|
|
12
12
|
import collections
|
|
13
|
+
import gc
|
|
13
14
|
import tempfile
|
|
15
|
+
import weakref
|
|
14
16
|
from pathlib import Path
|
|
15
17
|
|
|
16
18
|
import pytest
|
|
17
19
|
|
|
18
|
-
from objutils.elf import ElfParser
|
|
20
|
+
from objutils.elf import ElfParser, import_dwarf_to_db, model
|
|
19
21
|
|
|
20
22
|
# Test data directory
|
|
21
23
|
EXAMPLES_DIR = Path(__file__).parent.parent.parent / "examples"
|
|
@@ -341,6 +343,57 @@ class TestElfInMemoryDatabase:
|
|
|
341
343
|
parser_disk.close()
|
|
342
344
|
parser_mem.close()
|
|
343
345
|
|
|
346
|
+
def test_in_memory_context_manager_closes_parser(self, sample_elf_path):
|
|
347
|
+
"""Context-manager usage must release in-memory parser resources."""
|
|
348
|
+
with ElfParser(str(sample_elf_path), in_memory=True) as parser:
|
|
349
|
+
assert parser.session is not None
|
|
350
|
+
assert parser.e_machine == 83
|
|
351
|
+
|
|
352
|
+
assert parser._closed is True
|
|
353
|
+
assert parser.db is None
|
|
354
|
+
assert parser.session is None
|
|
355
|
+
assert parser.fp is None
|
|
356
|
+
|
|
357
|
+
def test_in_memory_close_is_idempotent(self, sample_elf_path):
|
|
358
|
+
"""Calling close() multiple times should be safe."""
|
|
359
|
+
parser = ElfParser(str(sample_elf_path), in_memory=True)
|
|
360
|
+
parser.close()
|
|
361
|
+
parser.close()
|
|
362
|
+
assert parser._closed is True
|
|
363
|
+
|
|
364
|
+
def test_in_memory_multiple_parsers_sequential_cleanup(self, sample_elf_path):
|
|
365
|
+
"""Opening multiple in-memory parsers sequentially must not raise cleanup errors."""
|
|
366
|
+
for _ in range(25):
|
|
367
|
+
with ElfParser(str(sample_elf_path), in_memory=True) as parser:
|
|
368
|
+
assert isinstance(parser.e_entry, int)
|
|
369
|
+
|
|
370
|
+
def test_in_memory_stress_multiple_elf_files_cleanup(self):
|
|
371
|
+
"""Stress-test in-memory cleanup across multiple ELF files and many open/close cycles."""
|
|
372
|
+
available_elfs = [EXAMPLES_DIR / name for name in SAMPLE_ELF_FILES if (EXAMPLES_DIR / name).exists()]
|
|
373
|
+
if not available_elfs:
|
|
374
|
+
pytest.skip("No sample ELF files found for stress test")
|
|
375
|
+
|
|
376
|
+
for cycle in range(15):
|
|
377
|
+
for elf_path in available_elfs:
|
|
378
|
+
with ElfParser(str(elf_path), in_memory=True) as parser:
|
|
379
|
+
# Touch common ELF and optional debug/DWARF query paths.
|
|
380
|
+
assert isinstance(parser.e_machine, int)
|
|
381
|
+
_ = parser.debug_sections()
|
|
382
|
+
ref = weakref.ref(parser)
|
|
383
|
+
|
|
384
|
+
assert parser._closed is True
|
|
385
|
+
assert parser.db is None
|
|
386
|
+
assert parser.session is None
|
|
387
|
+
assert parser.fp is None
|
|
388
|
+
|
|
389
|
+
del parser
|
|
390
|
+
gc.collect()
|
|
391
|
+
assert ref() is None
|
|
392
|
+
|
|
393
|
+
# Force periodic collection between larger batches.
|
|
394
|
+
if cycle % 5 == 4:
|
|
395
|
+
gc.collect()
|
|
396
|
+
|
|
344
397
|
|
|
345
398
|
class TestElfImageCreation:
|
|
346
399
|
"""Test image creation from ELF."""
|
|
@@ -378,5 +431,34 @@ class TestElfDebugSections:
|
|
|
378
431
|
assert isinstance(debug_secs, (collections.OrderedDict, type(None)))
|
|
379
432
|
|
|
380
433
|
|
|
434
|
+
class TestDwarfImportRegression:
|
|
435
|
+
"""Regression tests for DWARF importer into .prgdb databases."""
|
|
436
|
+
|
|
437
|
+
def test_import_dwarf_populates_database(self):
|
|
438
|
+
"""Importing DWARF should succeed and persist DIE/attribute rows."""
|
|
439
|
+
candidates = [
|
|
440
|
+
EXAMPLES_DIR / "lang-generics.elf",
|
|
441
|
+
EXAMPLES_DIR / "hello_xcp.ino.elf",
|
|
442
|
+
EXAMPLES_DIR / "avr.elf",
|
|
443
|
+
]
|
|
444
|
+
elf_path = next((p for p in candidates if p.exists()), None)
|
|
445
|
+
if elf_path is None:
|
|
446
|
+
pytest.skip("No suitable ELF sample found for DWARF import regression test")
|
|
447
|
+
|
|
448
|
+
with tempfile.TemporaryDirectory(ignore_cleanup_errors=True) as tmpdir:
|
|
449
|
+
out_db = Path(tmpdir) / "imported.prgdb"
|
|
450
|
+
rc = import_dwarf_to_db(str(elf_path), str(out_db), quiet=True, verbose=False, force=True)
|
|
451
|
+
assert rc == 0
|
|
452
|
+
assert out_db.exists()
|
|
453
|
+
|
|
454
|
+
db = model.Model(str(out_db))
|
|
455
|
+
try:
|
|
456
|
+
session = db.session
|
|
457
|
+
assert session.query(model.DebugInformationEntry).count() > 0
|
|
458
|
+
assert session.query(model.DIEAttribute).count() > 0
|
|
459
|
+
finally:
|
|
460
|
+
db.close()
|
|
461
|
+
|
|
462
|
+
|
|
381
463
|
if __name__ == "__main__":
|
|
382
464
|
pytest.main([__file__, "-v"])
|
|
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "objutils"
|
|
7
|
-
version = "0.10.
|
|
7
|
+
version = "0.10.21"
|
|
8
8
|
description = "Objectfile library for Python"
|
|
9
9
|
authors = [
|
|
10
10
|
{name = "Christoph Schueler", email = "cpu12.gems@googlemail.com"}
|
|
@@ -127,7 +127,7 @@ skip = ["*_i686", "*-musllinux*"]
|
|
|
127
127
|
build-frontend = "build"
|
|
128
128
|
|
|
129
129
|
[tool.bumpver]
|
|
130
|
-
current_version = "0.10.
|
|
130
|
+
current_version = "0.10.21"
|
|
131
131
|
version_pattern = "MAJOR.MINOR.PATCH"
|
|
132
132
|
commit_message = "bump version {old_version} -> {new_version}"
|
|
133
133
|
commit = true
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/checksums.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/exceptions.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/documentation_options.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/scripts/bootstrap.js.LICENSE.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/scripts/pydata-sphinx-theme.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/styles/pydata-sphinx-theme.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|