Improve errors with incompatible bytecode versions
What does this MR do?
A couple of improvements:
- Implement #133 (closed), a version check for prelinked bytecode so that prelinked bytecode generated with an older version of a toolset, when interpreted with a newer version of the interpreter (or vice versa), does not crash but yields an error.
- Adds human-readable error messages when bytecode parsing fails in
bclink
,bcprelink
, andinterpret
.
Changes to public APIs
-
bcgen -V
now outputs the ABC version number to stdout instead of stderr. No impact expected, as the flag is not used in any tools.
Author's checklist (required)
-
If bugs have been solved, tests have been added (guidelines) -
A changelog entry has been added (guidelines) -
Newly added code is documented (guidelines) -
Newly added code has a style consistent with the rest of the repository -
Intermediate commits compile (use git rebase -i main
if not)
Related issues
Closes #133 (closed)
Edited by Camil Staps