objutils 0.10.7__tar.gz → 0.10.9__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 (108) hide show
  1. {objutils-0.10.7 → objutils-0.10.9}/PKG-INFO +1 -1
  2. {objutils-0.10.7 → objutils-0.10.9}/objutils/__init__.py +1 -1
  3. {objutils-0.10.7 → objutils-0.10.9}/objutils/elf/defs.py +62 -52
  4. {objutils-0.10.7 → objutils-0.10.9}/objutils/pecoff/model.py +1 -1
  5. {objutils-0.10.7 → objutils-0.10.9}/objutils/pecoff/pdb/__init__.py +1451 -1446
  6. {objutils-0.10.7 → objutils-0.10.9}/objutils/scripts/oj_coff_info.py +11 -8
  7. {objutils-0.10.7 → objutils-0.10.9}/objutils/scripts/oj_coff_syms.py +2 -2
  8. {objutils-0.10.7 → objutils-0.10.9}/objutils/scripts/oj_elf_info.py +3 -13
  9. {objutils-0.10.7 → objutils-0.10.9}/objutils/symbols.py +440 -442
  10. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_image.py +1 -1
  11. {objutils-0.10.7 → objutils-0.10.9}/objutils/version.py +1 -1
  12. {objutils-0.10.7 → objutils-0.10.9}/pyproject.toml +2 -2
  13. {objutils-0.10.7 → objutils-0.10.9}/CMakeLists.txt +0 -0
  14. {objutils-0.10.7 → objutils-0.10.9}/LICENSE +0 -0
  15. {objutils-0.10.7 → objutils-0.10.9}/build_ext.py +0 -0
  16. {objutils-0.10.7 → objutils-0.10.9}/docs/README.rst +0 -0
  17. {objutils-0.10.7 → objutils-0.10.9}/objutils/.coveragerc +0 -0
  18. {objutils-0.10.7 → objutils-0.10.9}/objutils/.vscode/launch.json +0 -0
  19. {objutils-0.10.7 → objutils-0.10.9}/objutils/.vscode/settings.json +0 -0
  20. {objutils-0.10.7 → objutils-0.10.9}/objutils/a2l_test.shf +0 -0
  21. {objutils-0.10.7 → objutils-0.10.9}/objutils/ash.py +0 -0
  22. {objutils-0.10.7 → objutils-0.10.9}/objutils/binfile.py +0 -0
  23. {objutils-0.10.7 → objutils-0.10.9}/objutils/checksums.py +0 -0
  24. {objutils-0.10.7 → objutils-0.10.9}/objutils/cosmac.py +0 -0
  25. {objutils-0.10.7 → objutils-0.10.9}/objutils/dwarf/__init__.py +0 -0
  26. {objutils-0.10.7 → objutils-0.10.9}/objutils/dwarf/attrparser.py +0 -0
  27. {objutils-0.10.7 → objutils-0.10.9}/objutils/dwarf/c_generator.py +0 -0
  28. {objutils-0.10.7 → objutils-0.10.9}/objutils/dwarf/constants.py +0 -0
  29. {objutils-0.10.7 → objutils-0.10.9}/objutils/dwarf/encoding.py +0 -0
  30. {objutils-0.10.7 → objutils-0.10.9}/objutils/dwarf/lineprog.py +0 -0
  31. {objutils-0.10.7 → objutils-0.10.9}/objutils/dwarf/readers.py +0 -0
  32. {objutils-0.10.7 → objutils-0.10.9}/objutils/dwarf/sm.py +0 -0
  33. {objutils-0.10.7 → objutils-0.10.9}/objutils/dwarf/traverser.py +0 -0
  34. {objutils-0.10.7 → objutils-0.10.9}/objutils/elf/__init__.py +0 -0
  35. {objutils-0.10.7 → objutils-0.10.9}/objutils/elf/arm/__init__.py +0 -0
  36. {objutils-0.10.7 → objutils-0.10.9}/objutils/elf/arm/attributes.py +0 -0
  37. {objutils-0.10.7 → objutils-0.10.9}/objutils/elf/model.py +0 -0
  38. {objutils-0.10.7 → objutils-0.10.9}/objutils/emon52.py +0 -0
  39. {objutils-0.10.7 → objutils-0.10.9}/objutils/etek.py +0 -0
  40. {objutils-0.10.7 → objutils-0.10.9}/objutils/exceptions.py +0 -0
  41. {objutils-0.10.7 → objutils-0.10.9}/objutils/extensions/__init__.py +0 -0
  42. {objutils-0.10.7 → objutils-0.10.9}/objutils/extensions/ctre.hpp +0 -0
  43. {objutils-0.10.7 → objutils-0.10.9}/objutils/extensions/difflib.h +0 -0
  44. {objutils-0.10.7 → objutils-0.10.9}/objutils/extensions/exceptions.cpp +0 -0
  45. {objutils-0.10.7 → objutils-0.10.9}/objutils/extensions/exceptions.hpp +0 -0
  46. {objutils-0.10.7 → objutils-0.10.9}/objutils/extensions/hexfile.cpp +0 -0
  47. {objutils-0.10.7 → objutils-0.10.9}/objutils/extensions/wrapper.cpp +0 -0
  48. {objutils-0.10.7 → objutils-0.10.9}/objutils/fpc.py +0 -0
  49. {objutils-0.10.7 → objutils-0.10.9}/objutils/hexdump.py +0 -0
  50. {objutils-0.10.7 → objutils-0.10.9}/objutils/hexfile.py +0 -0
  51. {objutils-0.10.7 → objutils-0.10.9}/objutils/ieee695.py +0 -0
  52. {objutils-0.10.7 → objutils-0.10.9}/objutils/ihex.py +0 -0
  53. {objutils-0.10.7 → objutils-0.10.9}/objutils/image.py +0 -0
  54. {objutils-0.10.7 → objutils-0.10.9}/objutils/logger.py +0 -0
  55. {objutils-0.10.7 → objutils-0.10.9}/objutils/mostec.py +0 -0
  56. {objutils-0.10.7 → objutils-0.10.9}/objutils/objutils.code-workspace +0 -0
  57. {objutils-0.10.7 → objutils-0.10.9}/objutils/pecoff/__init__.py +0 -0
  58. {objutils-0.10.7 → objutils-0.10.9}/objutils/pecoff/defs.py +0 -0
  59. {objutils-0.10.7 → objutils-0.10.9}/objutils/pickleif.py +0 -0
  60. {objutils-0.10.7 → objutils-0.10.9}/objutils/rca.py +0 -0
  61. {objutils-0.10.7 → objutils-0.10.9}/objutils/readers.py +0 -0
  62. {objutils-0.10.7 → objutils-0.10.9}/objutils/registry.py +0 -0
  63. {objutils-0.10.7 → objutils-0.10.9}/objutils/scripts/arduino_build_artifacts.py +0 -0
  64. {objutils-0.10.7 → objutils-0.10.9}/objutils/scripts/oj_cgen.py +0 -0
  65. {objutils-0.10.7 → objutils-0.10.9}/objutils/scripts/oj_coff_extract.py +0 -0
  66. {objutils-0.10.7 → objutils-0.10.9}/objutils/scripts/oj_coff_import.py +0 -0
  67. {objutils-0.10.7 → objutils-0.10.9}/objutils/scripts/oj_dwarf_import.py +0 -0
  68. {objutils-0.10.7 → objutils-0.10.9}/objutils/scripts/oj_dwarf_info.py +0 -0
  69. {objutils-0.10.7 → objutils-0.10.9}/objutils/scripts/oj_elf_arm_attrs.py +0 -0
  70. {objutils-0.10.7 → objutils-0.10.9}/objutils/scripts/oj_elf_extract.py +0 -0
  71. {objutils-0.10.7 → objutils-0.10.9}/objutils/scripts/oj_elf_import.py +0 -0
  72. {objutils-0.10.7 → objutils-0.10.9}/objutils/scripts/oj_elf_syms.py +0 -0
  73. {objutils-0.10.7 → objutils-0.10.9}/objutils/scripts/oj_hex_info.py +0 -0
  74. {objutils-0.10.7 → objutils-0.10.9}/objutils/section.py +0 -0
  75. {objutils-0.10.7 → objutils-0.10.9}/objutils/shf.py +0 -0
  76. {objutils-0.10.7 → objutils-0.10.9}/objutils/sig.py +0 -0
  77. {objutils-0.10.7 → objutils-0.10.9}/objutils/srec.py +0 -0
  78. {objutils-0.10.7 → objutils-0.10.9}/objutils/tek.py +0 -0
  79. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/__init__.py +0 -0
  80. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_arm_attributes.py +0 -0
  81. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_ash.py +0 -0
  82. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_c_generator.py +0 -0
  83. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_checksums.py +0 -0
  84. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_cygpath.py +0 -0
  85. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_diff_bin.py +0 -0
  86. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_elf.py +0 -0
  87. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_emon52.py +0 -0
  88. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_etek.py +0 -0
  89. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_examples_cgen.py +0 -0
  90. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_fpc.py +0 -0
  91. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_hexdump.py +0 -0
  92. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_hexfile.py +0 -0
  93. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_ihex.py +0 -0
  94. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_mostec.py +0 -0
  95. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_readers.py +0 -0
  96. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_registry.py +0 -0
  97. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_repr.py +0 -0
  98. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_section.py +0 -0
  99. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_section_join.py +0 -0
  100. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_shf.py +0 -0
  101. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_sm.py +0 -0
  102. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_srec.py +0 -0
  103. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_tek.py +0 -0
  104. {objutils-0.10.7 → objutils-0.10.9}/objutils/tests/test_titext.py +0 -0
  105. {objutils-0.10.7 → objutils-0.10.9}/objutils/titxt.py +0 -0
  106. {objutils-0.10.7 → objutils-0.10.9}/objutils/utils/__init__.py +0 -0
  107. {objutils-0.10.7 → objutils-0.10.9}/objutils/utils/arduino.py +0 -0
  108. {objutils-0.10.7 → objutils-0.10.9}/objutils/utils/diff.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: objutils
3
- Version: 0.10.7
3
+ Version: 0.10.9
4
4
  Summary: Objectfile library for Python
5
5
  License: GPLv2
6
6
  License-File: LICENSE
@@ -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.7"
16
+ __version__ = "0.10.9"
17
17
 
18
18
  __all__ = [
19
19
  "Image",
@@ -305,8 +305,8 @@ class ELFMachineType(enum.IntEnum):
305
305
  EM_ETPU = 178 # Freescale Extended Time Processing Unit.
306
306
  EM_SLE9X = 179 # Infineon Technologies SLE9X core.
307
307
  EM_L1OM = 180 # Intel L1OM.
308
- EM_K10M = 181 # Intel K10M
309
- EM_AARCH64 = 183 # ARM AArch64
308
+ EM_K10M = 181 # Intel K10M
309
+ EM_AARCH64 = 183 # ARM AArch64
310
310
  EM_AVR32 = 185 # Atmel Corporation 32-bit microprocessor family.
311
311
  EM_STM8 = 186 # STMicroeletronics STM8 8-bit microcontroller.
312
312
  EM_TILE64 = 187 # Tilera TILE64 multicore architecture family.
@@ -314,40 +314,40 @@ class ELFMachineType(enum.IntEnum):
314
314
  EM_MICROBLAZE = 189 # Xilinx MicroBlaze 32-bit RISC soft processor core.
315
315
  EM_CUDA = 190 # NVIDIA CUDA architecture.
316
316
  EM_TILEGX = 191 # Tilera TILE-Gx
317
- EM_CLOUDSHIELD = 192, # CloudShield architecture family
318
- EM_COREA_1ST = 193, # KIPO-KAIST Core-A 1st generation processor family
319
- EM_COREA_2ND = 194, # KIPO-KAIST Core-A 2nd generation processor family
320
- EM_ARC_COMPACT2 = 195, # Synopsys ARCompact V2
321
- EM_OPEN8 = 196, # Open8 8-bit RISC soft processor core
322
- EM_RL78 = 197, # Renesas RL78 family
323
- EM_VIDEOCORE5 = 198, # Broadcom VideoCore V processor
324
- EM_78KOR = 199, # Renesas 78KOR family
325
- EM_56800EX = 200, # Freescale 56800EX Digital Signal Controller (DSC)
326
- EM_BA1 = 201, # Beyond BA1 CPU architecture
327
- EM_BA2 = 202, # Beyond BA2 CPU architecture
328
- EM_XCORE = 203, # XMOS xCORE processor family
329
- EM_MCHP_PIC = 204, # Microchip 8-bit PIC(r) family
330
- EM_INTEL205 = 205, # Reserved by Intel
331
- EM_INTEL206 = 206, # Reserved by Intel
332
- EM_INTEL207 = 207, # Reserved by Intel
333
- EM_INTEL208 = 208, # Reserved by Intel
334
- EM_INTEL209 = 209, # Reserved by Intel
335
- EM_KM32 = 210, # KM211 KM32 32-bit processor
336
- EM_KMX32 = 211, # KM211 KMX32 32-bit processor
337
- EM_KMX16 = 212, # KM211 KMX16 16-bit processor
338
- EM_KMX8 = 213, # KM211 KMX8 8-bit processor
339
- EM_KVARC = 214, # KM211 KVARC processor
340
- EM_CDP = 215, # Paneve CDP architecture family
341
- EM_COGE = 216, # Cognitive Smart Memory Processor
342
- EM_COOL = 217, # iCelero CoolEngine
343
- EM_NORC = 218, # Nanoradio Optimized RISC
344
- EM_CSR_KALIMBA = 219, # CSR Kalimba architecture family
345
- EM_AMDGPU = 224, # AMD GPU architecture
346
- EM_RISCV = 243, # RISC-V
347
- EM_LANAI = 244, # Lanai 32-bit processor
348
- EM_BPF = 247, # Linux kernel bpf virtual machine
349
- EM_VE = 251, # NEC SX-Aurora VE
350
- EM_CSKY = 252, # C-SKY 32-bit processor
317
+ EM_CLOUDSHIELD = (192,) # CloudShield architecture family
318
+ EM_COREA_1ST = (193,) # KIPO-KAIST Core-A 1st generation processor family
319
+ EM_COREA_2ND = (194,) # KIPO-KAIST Core-A 2nd generation processor family
320
+ EM_ARC_COMPACT2 = (195,) # Synopsys ARCompact V2
321
+ EM_OPEN8 = (196,) # Open8 8-bit RISC soft processor core
322
+ EM_RL78 = (197,) # Renesas RL78 family
323
+ EM_VIDEOCORE5 = (198,) # Broadcom VideoCore V processor
324
+ EM_78KOR = (199,) # Renesas 78KOR family
325
+ EM_56800EX = (200,) # Freescale 56800EX Digital Signal Controller (DSC)
326
+ EM_BA1 = (201,) # Beyond BA1 CPU architecture
327
+ EM_BA2 = (202,) # Beyond BA2 CPU architecture
328
+ EM_XCORE = (203,) # XMOS xCORE processor family
329
+ EM_MCHP_PIC = (204,) # Microchip 8-bit PIC(r) family
330
+ EM_INTEL205 = (205,) # Reserved by Intel
331
+ EM_INTEL206 = (206,) # Reserved by Intel
332
+ EM_INTEL207 = (207,) # Reserved by Intel
333
+ EM_INTEL208 = (208,) # Reserved by Intel
334
+ EM_INTEL209 = (209,) # Reserved by Intel
335
+ EM_KM32 = (210,) # KM211 KM32 32-bit processor
336
+ EM_KMX32 = (211,) # KM211 KMX32 32-bit processor
337
+ EM_KMX16 = (212,) # KM211 KMX16 16-bit processor
338
+ EM_KMX8 = (213,) # KM211 KMX8 8-bit processor
339
+ EM_KVARC = (214,) # KM211 KVARC processor
340
+ EM_CDP = (215,) # Paneve CDP architecture family
341
+ EM_COGE = (216,) # Cognitive Smart Memory Processor
342
+ EM_COOL = (217,) # iCelero CoolEngine
343
+ EM_NORC = (218,) # Nanoradio Optimized RISC
344
+ EM_CSR_KALIMBA = (219,) # CSR Kalimba architecture family
345
+ EM_AMDGPU = (224,) # AMD GPU architecture
346
+ EM_RISCV = (243,) # RISC-V
347
+ EM_LANAI = (244,) # Lanai 32-bit processor
348
+ EM_BPF = (247,) # Linux kernel bpf virtual machine
349
+ EM_VE = (251,) # NEC SX-Aurora VE
350
+ EM_CSKY = (252,) # C-SKY 32-bit processor
351
351
  EM_AVR_OLD = 0x1057 # AVR magic number. Written in the absense of an ABI.
352
352
  EM_MSP430_OLD = 0x1059 # MSP430 magic number. Written in the absense of everything.
353
353
  EM_MT = 0x2530 # Morpho MT. Written in the absense of an ABI.
@@ -954,7 +954,7 @@ class ELFAbiType(enum.IntEnum):
954
954
  # ELFOSABI_FIRST_ARCH = 64, // First architecture-specific OS ABI
955
955
  # ELFOSABI_AMDGPU_HSA = 64, // AMD HSA runtime
956
956
  ELFOSABI_C6000_LINUX = 65 # Linux TMS320C6000
957
- ELFOSABI_AMDGPU_MESA3D = 66 # AMD GCN GPUs (GFX6+) for MESA runtime
957
+ ELFOSABI_AMDGPU_MESA3D = 66 # AMD GCN GPUs (GFX6+) for MESA runtime
958
958
  ELFOSABI_ARM = 97 # ARM
959
959
  ELFOSABI_STANDALONE = 255 # Standalone (embedded) application
960
960
 
@@ -1303,26 +1303,36 @@ class ProgramHeader(enum.IntEnum):
1303
1303
  PT_HIPROC: End of processor-specific segment types
1304
1304
  """
1305
1305
 
1306
- PT_NULL = 0 # Program header table entry unused.
1307
- PT_LOAD = 1 # Loadable program segment.
1308
- PT_DYNAMIC = 2 # Dynamic linking information.
1309
- PT_INTERP = 3 # Program interpreter.
1310
- PT_NOTE = 4 # Auxiliary information.
1311
- PT_SHLIB = 5 # Reserved.
1312
- PT_PHDR = 6 # Entry for header table itself.
1313
- PT_TLS = 7 # Thread-local storage segment
1314
- PT_NUM = 8 # Number of defined types
1315
- PT_LOOS = 0x60000000 # Start of OS-specific
1316
- PT_GNU_EH_FRAME = 0x6474E550 # GCC .eh_frame_hdr segment
1317
- PT_GNU_STACK = 0x6474E551 # Indicates stack executability
1318
- PT_GNU_RELRO = 0x6474E552 # Read-only after relocation
1319
- PT_GNU_PROPERTY = 0x6474E553 # GNU property
1306
+ NULL = 0 # Program header table entry unused.
1307
+ LOAD = 1 # Loadable program segment.
1308
+ DYNAMIC = 2 # Dynamic linking information.
1309
+ INTERP = 3 # Program interpreter.
1310
+ NOTE = 4 # Auxiliary information.
1311
+ SHLIB = 5 # Reserved.
1312
+ PHDR = 6 # Entry for header table itself.
1313
+ TLS = 7 # Thread-local storage segment
1314
+ NUM = 8 # Number of defined types
1315
+ LOOS = 0x60000000 # Start of OS-specific
1316
+ GNU_EH_FRAME = 0x6474E550 # GCC .eh_frame_hdr segment
1317
+ GNU_STACK = 0x6474E551 # Indicates stack executability
1318
+ GNU_RELRO = 0x6474E552 # Read-only after relocation
1319
+ GNU_PROPERTY = 0x6474E553 # GNU property
1320
+ PAX_FLAGS = 0x65041580
1320
1321
 
1321
1322
  PT_LOSUNW = 0x6FFFFFFA
1322
1323
  PT_SUNWBSS = 0x6FFFFFFA # Sun Specific segment
1323
1324
  PT_SUNWSTACK = 0x6FFFFFFB # Stack segment
1324
1325
  PT_HISUNW = 0x6FFFFFFF
1325
1326
  PT_HIOS = 0x6FFFFFFF # End of OS-specific
1327
+ ARM_ARCHEXT = 0x70000000
1328
+ ARM_EXIDX = 0x70000001
1329
+ AARCH64_MEMTAG_MTE = 0x70000002
1330
+ # MIPS_REGINFO = 0x70000000
1331
+ # MIPS_RTPROC = 0x70000001
1332
+ # MIPS_OPTIONS = 0x70000002
1333
+ MIPS_ABIFLAGS = 0x70000003
1334
+
1335
+
1326
1336
  PT_LOPROC = 0x70000000 # Start of processor-specific.
1327
1337
  PT_ARM_EXIDX = PT_LOPROC + 1 # Frame unwind information
1328
1338
  PT_HIPROC = 0x7FFFFFFF # End of processor-specific
@@ -1337,7 +1347,7 @@ def program_header_name(tp: int) -> str:
1337
1347
  Returns:
1338
1348
  Program header type name without the "PT_" prefix.
1339
1349
  """
1340
- return ProgramHeader(tp).name[3:]
1350
+ return ProgramHeader(tp).name
1341
1351
 
1342
1352
 
1343
1353
  PF_X = 0x1 # Execute.
@@ -85,7 +85,7 @@ from contextlib import contextmanager
85
85
 
86
86
  from sqlalchemy import Column, Integer, Numeric, String, create_engine, event
87
87
  from sqlalchemy.engine import Engine
88
- from sqlalchemy.ext.declarative import declarative_base
88
+ from sqlalchemy.orm import declarative_base
89
89
  from sqlalchemy.orm import Session, sessionmaker
90
90
 
91
91
  Base = declarative_base()