micropython/tools
Jim Mussared d94141e147 py/persistentcode: Introduce .mpy sub-version.
The intent is to allow us to make breaking changes to the native ABI (e.g.
changes to dynruntime.h) without needing the bytecode version to increment.

With this commit the two bits previously used for the feature flags (but
now unused as of .mpy version 6) encode a sub-version.  A bytecode-only
.mpy file can be loaded as long as MPY_VERSION matches, but a native .mpy
(i.e. one with an arch set) must also match MPY_SUB_VERSION.  This allows 3
additional updates to the native ABI per bytecode revision.

The sub-version is set to 1 because the previous commits that changed the
layout of mp_obj_type_t have changed the native ABI.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Signed-off-by: Damien George <damien@micropython.org>
2022-09-19 23:19:55 +10:00
..
autobuild tools/autobuild: Use distinct directory for building stm32 variants. 2022-09-08 14:54:11 +10:00
mpremote tools/mpremote: Print nicer errors for unsupported 'cp -r' arguments. 2022-08-26 13:30:03 +10:00
.gitattributes micropython-upip: Mark as binary file and re-commit. 2015-06-06 23:09:23 +03:00
.gitignore tools: check-in errordeveloper/tinytest@eb2dbc858f 2014-05-08 01:41:21 +03:00
cc1 tools: Add C middle-processor to make builtin tables proper hash tables. 2015-12-31 00:24:33 +00:00
ci.sh unix: Refactor mpconfigport.h and mpconfigvariant.h. 2022-09-13 17:39:03 +10:00
codeformat.py tools/codeformat.py: Include more ports .c/.h files in formatting. 2022-04-20 16:02:11 +10:00
codestats.sh tests,tools: Update path to unix micropython executable. 2022-08-18 11:47:58 +10:00
dfu.py tools/dfu.py: Make tool work with python3 when parsing DFU files. 2021-11-01 15:46:59 +11:00
file2h.py all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
gen-changelog.sh Rename "Micro Python" to "MicroPython" in REPL, help, readme's and misc. 2015-10-12 00:06:25 +01:00
gen-cpydiff.py tests,tools: Update path to unix micropython executable. 2022-08-18 11:47:58 +10:00
gendoc.py all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
insert-usb-ids.py ports: Rename USBD_VID/PID config macros to MICROPY_HW_USB_VID/PID. 2021-08-07 23:13:55 +10:00
makemanifest.py tools/makemanifest.py: Force the repo version of the mpy_cross package. 2022-09-09 18:12:55 +10:00
manifestfile.py tools/manifestfile.py: Allow manifests to set metadata. 2022-09-05 17:07:13 +10:00
metrics.py unix/variants: Remove variant suffix from executable filename. 2022-08-11 13:34:34 +10:00
mpy-tool.py py/persistentcode: Introduce .mpy sub-version. 2022-09-19 23:19:55 +10:00
mpy_bin2res.py tools/mpy_bin2res: Tools to convert binary resources to Python module. 2017-07-27 14:41:27 +03:00
mpy_cross_all.py all: Remove MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE. 2021-09-16 16:04:03 +10:00
mpy_ld.py py/persistentcode: Introduce .mpy sub-version. 2022-09-19 23:19:55 +10:00
pyboard.py tools/pyboard.py: Support Windows pathname separators. 2022-09-13 13:28:39 +10:00
pydfu.py all: Update Python formatting to latest Black version 21.12b0. 2021-12-09 12:09:40 +11:00
tinytest-codegen.py py/formatfloat: Format all whole-number floats exactly. 2022-07-26 22:23:47 +10:00
uf2conv.py tools/uf2conv.py: Update to latest version. 2022-02-02 23:43:58 +11:00
uf2families.json tools/uf2conv.py: Update to latest version. 2022-02-02 23:43:58 +11:00
uncrustify.cfg tools/uncrustify: Make sure a space exists after a comma. 2022-05-05 13:30:40 +10:00
upip.py tools/upip.py: Remove unused op_basename() function. 2022-02-25 18:24:03 +11:00
upip_utarfile.py all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
verifygitlog.py tools/verifygitlog.py: Ignore line length in body if it's a URL. 2022-02-18 14:33:33 +11:00