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.
Files changed (280) hide show
  1. {objutils-0.10.20 → objutils-0.10.21}/.github/workflows/pythonapp.yml +7 -7
  2. {objutils-0.10.20 → objutils-0.10.21}/PKG-INFO +1 -1
  3. {objutils-0.10.20 → objutils-0.10.21}/objutils/__init__.py +1 -1
  4. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_elf.py +83 -1
  5. {objutils-0.10.20 → objutils-0.10.21}/objutils/version.py +1 -1
  6. {objutils-0.10.20 → objutils-0.10.21}/pyproject.toml +2 -2
  7. {objutils-0.10.20 → objutils-0.10.21}/.clang-format +0 -0
  8. {objutils-0.10.20 → objutils-0.10.21}/.codacy.yml +0 -0
  9. {objutils-0.10.20 → objutils-0.10.21}/.codeclimate.yml +0 -0
  10. {objutils-0.10.20 → objutils-0.10.21}/.coveralls.yml +0 -0
  11. {objutils-0.10.20 → objutils-0.10.21}/.github/FUNDING.yml +0 -0
  12. {objutils-0.10.20 → objutils-0.10.21}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  13. {objutils-0.10.20 → objutils-0.10.21}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  14. {objutils-0.10.20 → objutils-0.10.21}/.github/ISSUE_TEMPLATE/documentation.yml +0 -0
  15. {objutils-0.10.20 → objutils-0.10.21}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  16. {objutils-0.10.20 → objutils-0.10.21}/.github/ISSUE_TEMPLATE.md +0 -0
  17. {objutils-0.10.20 → objutils-0.10.21}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  18. {objutils-0.10.20 → objutils-0.10.21}/.github/copilot-instructions.md +0 -0
  19. {objutils-0.10.20 → objutils-0.10.21}/.gitignore +0 -0
  20. {objutils-0.10.20 → objutils-0.10.21}/.idea/.gitignore +0 -0
  21. {objutils-0.10.20 → objutils-0.10.21}/.idea/copilot.data.migration.ask2agent.xml +0 -0
  22. {objutils-0.10.20 → objutils-0.10.21}/.idea/deployment.xml +0 -0
  23. {objutils-0.10.20 → objutils-0.10.21}/.idea/inspectionProfiles/profiles_settings.xml +0 -0
  24. {objutils-0.10.20 → objutils-0.10.21}/.idea/misc.xml +0 -0
  25. {objutils-0.10.20 → objutils-0.10.21}/.idea/modules.xml +0 -0
  26. {objutils-0.10.20 → objutils-0.10.21}/.idea/objutils@1.iml +0 -0
  27. {objutils-0.10.20 → objutils-0.10.21}/.idea/pyLspTools.xml +0 -0
  28. {objutils-0.10.20 → objutils-0.10.21}/.idea/pyProjectModel.xml +0 -0
  29. {objutils-0.10.20 → objutils-0.10.21}/.idea/vcs.xml +0 -0
  30. {objutils-0.10.20 → objutils-0.10.21}/.pre-commit-config.yaml +0 -0
  31. {objutils-0.10.20 → objutils-0.10.21}/.pylintrc +0 -0
  32. {objutils-0.10.20 → objutils-0.10.21}/.readthedocs.yml +0 -0
  33. {objutils-0.10.20 → objutils-0.10.21}/.travis.yml +0 -0
  34. {objutils-0.10.20 → objutils-0.10.21}/CMakeLists.txt +0 -0
  35. {objutils-0.10.20 → objutils-0.10.21}/CODE_OF_CONDUCT.md +0 -0
  36. {objutils-0.10.20 → objutils-0.10.21}/CONTRIBUTORS +0 -0
  37. {objutils-0.10.20 → objutils-0.10.21}/LICENSE +0 -0
  38. {objutils-0.10.20 → objutils-0.10.21}/MANIFEST.in +0 -0
  39. {objutils-0.10.20 → objutils-0.10.21}/PULL_REQUEST_TEMPLATE.md +0 -0
  40. {objutils-0.10.20 → objutils-0.10.21}/appveyor.yml +0 -0
  41. {objutils-0.10.20 → objutils-0.10.21}/bandit.yml +0 -0
  42. {objutils-0.10.20 → objutils-0.10.21}/docs/Data_Formats.pdf +0 -0
  43. {objutils-0.10.20 → objutils-0.10.21}/docs/ELF_Format.pdf +0 -0
  44. {objutils-0.10.20 → objutils-0.10.21}/docs/KNOWN_GOOD_DWARF_REFERENCE.md +0 -0
  45. {objutils-0.10.20 → objutils-0.10.21}/docs/README.rst +0 -0
  46. {objutils-0.10.20 → objutils-0.10.21}/docs/apidoc.sh +0 -0
  47. {objutils-0.10.20 → objutils-0.10.21}/docs/conf.py +0 -0
  48. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.buildinfo +0 -0
  49. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.buildinfo.bak +0 -0
  50. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/README.doctree +0 -0
  51. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/environment.pickle +0 -0
  52. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/howto.doctree +0 -0
  53. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/index.doctree +0 -0
  54. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/installation.doctree +0 -0
  55. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/modules.doctree +0 -0
  56. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/objutils.doctree +0 -0
  57. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/objutils.elf.doctree +0 -0
  58. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/scripts.doctree +0 -0
  59. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/session.doctree +0 -0
  60. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/.doctrees/tutorial.doctree +0 -0
  61. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/README.html +0 -0
  62. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_images/objutils_basic.png +0 -0
  63. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/index.html +0 -0
  64. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/ash.html +0 -0
  65. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/binfile.html +0 -0
  66. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/checksums.html +0 -0
  67. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/cosmac.html +0 -0
  68. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/elf/defs.html +0 -0
  69. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/elf.html +0 -0
  70. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/emon52.html +0 -0
  71. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/etek.html +0 -0
  72. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/exceptions.html +0 -0
  73. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/fpc.html +0 -0
  74. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/hexdump.html +0 -0
  75. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/hexfile.html +0 -0
  76. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/ihex.html +0 -0
  77. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/image.html +0 -0
  78. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/logger.html +0 -0
  79. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/mostec.html +0 -0
  80. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/pickleif.html +0 -0
  81. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/rca.html +0 -0
  82. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/readers.html +0 -0
  83. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/registry.html +0 -0
  84. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/section.html +0 -0
  85. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/sig.html +0 -0
  86. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/srec.html +0 -0
  87. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/tek.html +0 -0
  88. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/titxt.html +0 -0
  89. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils/utils.html +0 -0
  90. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_modules/objutils.html +0 -0
  91. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/README.rst.txt +0 -0
  92. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/howto.rst.txt +0 -0
  93. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/index.rst.txt +0 -0
  94. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/installation.rst.txt +0 -0
  95. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/modules.rst.txt +0 -0
  96. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/objutils.elf.rst.txt +0 -0
  97. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/objutils.rst.txt +0 -0
  98. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/scripts.rst.txt +0 -0
  99. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/session.rst.txt +0 -0
  100. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_sources/tutorial.rst.txt +0 -0
  101. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/alabaster.css +0 -0
  102. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/basic.css +0 -0
  103. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/check-solid.svg +0 -0
  104. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/clipboard.min.js +0 -0
  105. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/copy-button.svg +0 -0
  106. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/copybutton.css +0 -0
  107. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/copybutton.js +0 -0
  108. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/copybutton_funcs.js +0 -0
  109. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/custom.css +0 -0
  110. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/doctools.js +0 -0
  111. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/documentation_options.js +0 -0
  112. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/file.png +0 -0
  113. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/github-banner.svg +0 -0
  114. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/language_data.js +0 -0
  115. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/minus.png +0 -0
  116. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/plus.png +0 -0
  117. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/pygments.css +0 -0
  118. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/scripts/bootstrap.js +0 -0
  119. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/scripts/bootstrap.js.LICENSE.txt +0 -0
  120. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/scripts/fontawesome.js +0 -0
  121. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/scripts/fontawesome.js.LICENSE.txt +0 -0
  122. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/scripts/pydata-sphinx-theme.js +0 -0
  123. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/searchtools.js +0 -0
  124. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/sphinx_highlight.js +0 -0
  125. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/styles/pydata-sphinx-theme.css +0 -0
  126. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/styles/theme.css +0 -0
  127. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.ttf +0 -0
  128. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
  129. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.ttf +0 -0
  130. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
  131. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.ttf +0 -0
  132. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/vendor/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
  133. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/_static/webpack-macros.html +0 -0
  134. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/genindex.html +0 -0
  135. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/howto.html +0 -0
  136. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/index.html +0 -0
  137. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/installation.html +0 -0
  138. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/modules.html +0 -0
  139. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/objects.inv +0 -0
  140. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/objutils.elf.html +0 -0
  141. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/objutils.html +0 -0
  142. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/py-modindex.html +0 -0
  143. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/scripts.html +0 -0
  144. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/search.html +0 -0
  145. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/searchindex.js +0 -0
  146. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/session.html +0 -0
  147. {objutils-0.10.20 → objutils-0.10.21}/docs/docs/_build/html/tutorial.html +0 -0
  148. {objutils-0.10.20 → objutils-0.10.21}/docs/elf-64-gen.pdf +0 -0
  149. {objutils-0.10.20 → objutils-0.10.21}/docs/example0.srec +0 -0
  150. {objutils-0.10.20 → objutils-0.10.21}/docs/howto.rst +0 -0
  151. {objutils-0.10.20 → objutils-0.10.21}/docs/index.rst +0 -0
  152. {objutils-0.10.20 → objutils-0.10.21}/docs/installation.rst +0 -0
  153. {objutils-0.10.20 → objutils-0.10.21}/docs/make.bat +0 -0
  154. {objutils-0.10.20 → objutils-0.10.21}/docs/modules.rst +0 -0
  155. {objutils-0.10.20 → objutils-0.10.21}/docs/objutils.elf.rst +0 -0
  156. {objutils-0.10.20 → objutils-0.10.21}/docs/objutils.rst +0 -0
  157. {objutils-0.10.20 → objutils-0.10.21}/docs/objutils_banner.png +0 -0
  158. {objutils-0.10.20 → objutils-0.10.21}/docs/objutils_basic.png +0 -0
  159. {objutils-0.10.20 → objutils-0.10.21}/docs/objutils_dark.jpg +0 -0
  160. {objutils-0.10.20 → objutils-0.10.21}/docs/objutils_social.jpg +0 -0
  161. {objutils-0.10.20 → objutils-0.10.21}/docs/requirements.txt +0 -0
  162. {objutils-0.10.20 → objutils-0.10.21}/docs/scripts.rst +0 -0
  163. {objutils-0.10.20 → objutils-0.10.21}/docs/session.rst +0 -0
  164. {objutils-0.10.20 → objutils-0.10.21}/docs/tutorial.rst +0 -0
  165. {objutils-0.10.20 → objutils-0.10.21}/docs/tutorial1.ipynb +0 -0
  166. {objutils-0.10.20 → objutils-0.10.21}/objutils/.coveragerc +0 -0
  167. {objutils-0.10.20 → objutils-0.10.21}/objutils/.vscode/launch.json +0 -0
  168. {objutils-0.10.20 → objutils-0.10.21}/objutils/.vscode/settings.json +0 -0
  169. {objutils-0.10.20 → objutils-0.10.21}/objutils/a2l_test.shf +0 -0
  170. {objutils-0.10.20 → objutils-0.10.21}/objutils/ash.py +0 -0
  171. {objutils-0.10.20 → objutils-0.10.21}/objutils/binfile.py +0 -0
  172. {objutils-0.10.20 → objutils-0.10.21}/objutils/checksums.py +0 -0
  173. {objutils-0.10.20 → objutils-0.10.21}/objutils/cosmac.py +0 -0
  174. {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/__init__.py +0 -0
  175. {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/attrparser.py +0 -0
  176. {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/c_generator.py +0 -0
  177. {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/constants.py +0 -0
  178. {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/encoding.py +0 -0
  179. {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/lineprog.py +0 -0
  180. {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/readers.py +0 -0
  181. {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/sm.py +0 -0
  182. {objutils-0.10.20 → objutils-0.10.21}/objutils/dwarf/traverser.py +0 -0
  183. {objutils-0.10.20 → objutils-0.10.21}/objutils/elf/__init__.py +0 -0
  184. {objutils-0.10.20 → objutils-0.10.21}/objutils/elf/arm/__init__.py +0 -0
  185. {objutils-0.10.20 → objutils-0.10.21}/objutils/elf/arm/attributes.py +0 -0
  186. {objutils-0.10.20 → objutils-0.10.21}/objutils/elf/defs.py +0 -0
  187. {objutils-0.10.20 → objutils-0.10.21}/objutils/elf/model.py +0 -0
  188. {objutils-0.10.20 → objutils-0.10.21}/objutils/emon52.py +0 -0
  189. {objutils-0.10.20 → objutils-0.10.21}/objutils/etek.py +0 -0
  190. {objutils-0.10.20 → objutils-0.10.21}/objutils/exceptions.py +0 -0
  191. {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/__init__.py +0 -0
  192. {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/ctre.hpp +0 -0
  193. {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/difflib.h +0 -0
  194. {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/elf_parser.cpp +0 -0
  195. {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/elf_parser.hpp +0 -0
  196. {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/exceptions.cpp +0 -0
  197. {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/exceptions.hpp +0 -0
  198. {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/hexfile.cpp +0 -0
  199. {objutils-0.10.20 → objutils-0.10.21}/objutils/extensions/wrapper.cpp +0 -0
  200. {objutils-0.10.20 → objutils-0.10.21}/objutils/fpc.py +0 -0
  201. {objutils-0.10.20 → objutils-0.10.21}/objutils/hexdump.py +0 -0
  202. {objutils-0.10.20 → objutils-0.10.21}/objutils/hexfile.py +0 -0
  203. {objutils-0.10.20 → objutils-0.10.21}/objutils/ieee695.py +0 -0
  204. {objutils-0.10.20 → objutils-0.10.21}/objutils/ihex.py +0 -0
  205. {objutils-0.10.20 → objutils-0.10.21}/objutils/image.py +0 -0
  206. {objutils-0.10.20 → objutils-0.10.21}/objutils/logger.py +0 -0
  207. {objutils-0.10.20 → objutils-0.10.21}/objutils/mostec.py +0 -0
  208. {objutils-0.10.20 → objutils-0.10.21}/objutils/objutils.code-workspace +0 -0
  209. {objutils-0.10.20 → objutils-0.10.21}/objutils/oocdtxt.py +0 -0
  210. {objutils-0.10.20 → objutils-0.10.21}/objutils/pecoff/__init__.py +0 -0
  211. {objutils-0.10.20 → objutils-0.10.21}/objutils/pecoff/defs.py +0 -0
  212. {objutils-0.10.20 → objutils-0.10.21}/objutils/pecoff/model.py +0 -0
  213. {objutils-0.10.20 → objutils-0.10.21}/objutils/pecoff/pdb/__init__.py +0 -0
  214. {objutils-0.10.20 → objutils-0.10.21}/objutils/pickleif.py +0 -0
  215. {objutils-0.10.20 → objutils-0.10.21}/objutils/rca.py +0 -0
  216. {objutils-0.10.20 → objutils-0.10.21}/objutils/readers.py +0 -0
  217. {objutils-0.10.20 → objutils-0.10.21}/objutils/registry.py +0 -0
  218. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/arduino_build_artifacts.py +0 -0
  219. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_cgen.py +0 -0
  220. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_coff_extract.py +0 -0
  221. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_coff_import.py +0 -0
  222. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_coff_info.py +0 -0
  223. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_coff_syms.py +0 -0
  224. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_dwarf_import.py +0 -0
  225. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_dwarf_info.py +0 -0
  226. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_elf_arm_attrs.py +0 -0
  227. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_elf_extract.py +0 -0
  228. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_elf_import.py +0 -0
  229. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_elf_info.py +0 -0
  230. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_elf_syms.py +0 -0
  231. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_hex_info.py +0 -0
  232. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_hex_merge.py +0 -0
  233. {objutils-0.10.20 → objutils-0.10.21}/objutils/scripts/oj_hex_split.py +0 -0
  234. {objutils-0.10.20 → objutils-0.10.21}/objutils/section.py +0 -0
  235. {objutils-0.10.20 → objutils-0.10.21}/objutils/shf.py +0 -0
  236. {objutils-0.10.20 → objutils-0.10.21}/objutils/sig.py +0 -0
  237. {objutils-0.10.20 → objutils-0.10.21}/objutils/srec.py +0 -0
  238. {objutils-0.10.20 → objutils-0.10.21}/objutils/symbols.py +0 -0
  239. {objutils-0.10.20 → objutils-0.10.21}/objutils/tek.py +0 -0
  240. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/__init__.py +0 -0
  241. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_arm_attributes.py +0 -0
  242. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_asam_alternate_modes.py +0 -0
  243. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_ash.py +0 -0
  244. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_c_generator.py +0 -0
  245. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_checksums.py +0 -0
  246. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_cygpath.py +0 -0
  247. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_diff_bin.py +0 -0
  248. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_emon52.py +0 -0
  249. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_etek.py +0 -0
  250. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_examples_cgen.py +0 -0
  251. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_extended.py +0 -0
  252. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_fpc.py +0 -0
  253. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_hexdump.py +0 -0
  254. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_hexfile.py +0 -0
  255. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_ihex.py +0 -0
  256. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_image.py +0 -0
  257. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_mostec.py +0 -0
  258. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_oocdtxt.py +0 -0
  259. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_pdb_typeinfo_dump.py +0 -0
  260. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_probe_uniqueness.py +0 -0
  261. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_readers.py +0 -0
  262. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_registry.py +0 -0
  263. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_repr.py +0 -0
  264. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_section.py +0 -0
  265. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_section_join.py +0 -0
  266. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_shf.py +0 -0
  267. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_sm.py +0 -0
  268. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_srec.py +0 -0
  269. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_tek.py +0 -0
  270. {objutils-0.10.20 → objutils-0.10.21}/objutils/tests/test_titext.py +0 -0
  271. {objutils-0.10.20 → objutils-0.10.21}/objutils/titxt.py +0 -0
  272. {objutils-0.10.20 → objutils-0.10.21}/objutils/utils/__init__.py +0 -0
  273. {objutils-0.10.20 → objutils-0.10.21}/objutils/utils/arduino.py +0 -0
  274. {objutils-0.10.20 → objutils-0.10.21}/objutils/utils/diff.py +0 -0
  275. {objutils-0.10.20 → objutils-0.10.21}/poetry.lock +0 -0
  276. {objutils-0.10.20 → objutils-0.10.21}/requirements.txt +0 -0
  277. {objutils-0.10.20 → objutils-0.10.21}/setup.cfg +0 -0
  278. {objutils-0.10.20 → objutils-0.10.21}/setup.py +0 -0
  279. {objutils-0.10.20 → objutils-0.10.21}/test_join_sections.py +0 -0
  280. {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@v6
26
- - uses: pypa/cibuildwheel@v3.3
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@v6
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@v6
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@v6
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@v7
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.13.0
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.20
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>
@@ -13,7 +13,7 @@ Registers CODECS and implements an interface to them.
13
13
  The first parameter is always the codec name.
14
14
  """
15
15
 
16
- __version__ = "0.10.20"
16
+ __version__ = "0.10.21"
17
17
 
18
18
  __all__ = [
19
19
  "Image",
@@ -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"])
@@ -1,3 +1,3 @@
1
1
  """objutils version module"""
2
2
 
3
- __version__ = "0.10.20"
3
+ __version__ = "0.10.21"
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
4
4
 
5
5
  [project]
6
6
  name = "objutils"
7
- version = "0.10.20"
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.20"
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