py/persistentcode: Make ARM Thumb archs support multiple sub-archs.

This commit is contained in:
Damien George
2019-11-30 23:00:56 +11:00
parent 42c1aed2bb
commit 9ac949cdbd
2 changed files with 27 additions and 10 deletions

View File

@@ -526,9 +526,11 @@ mp_raw_code_t *mp_raw_code_load(mp_reader_t *reader) {
|| read_uint(reader, NULL) > QSTR_WINDOW_SIZE) {
mp_raise_ValueError("incompatible .mpy file");
}
if (MPY_FEATURE_DECODE_ARCH(header[2]) != MP_NATIVE_ARCH_NONE
&& MPY_FEATURE_DECODE_ARCH(header[2]) != MPY_FEATURE_ARCH) {
mp_raise_ValueError("incompatible .mpy arch");
if (MPY_FEATURE_DECODE_ARCH(header[2]) != MP_NATIVE_ARCH_NONE) {
byte arch = MPY_FEATURE_DECODE_ARCH(header[2]);
if (!MPY_FEATURE_ARCH_TEST(arch)) {
mp_raise_ValueError("incompatible .mpy arch");
}
}
qstr_window_t qw;
qw.idx = 0;