From 6628b542182b68e7741fb5828c7e021d09af7c03 Mon Sep 17 00:00:00 2001 From: M4x1m3 Date: Mon, 15 Feb 2021 14:56:41 +0100 Subject: [PATCH 1/2] [py] Fixed Illegal Instruction when building in debug --- python/port/mpconfigport.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/python/port/mpconfigport.h b/python/port/mpconfigport.h index a55925d82..fa3d71da6 100644 --- a/python/port/mpconfigport.h +++ b/python/port/mpconfigport.h @@ -146,3 +146,10 @@ extern const struct _mp_obj_module_t modturtle_module; { MP_ROM_QSTR(MP_QSTR_os), MP_ROM_PTR(&modos_module) }, \ { MP_ROM_QSTR(MP_QSTR_turtle), MP_ROM_PTR(&modturtle_module) }, \ +// Enable setjmp in debug mode. This is to avoid some optimizations done +// specifically for x86_64 using inline assembly, which makes the debug binary +// crash with an illegal instruction +#ifndef NDEBUG + #define MICROPY_NLR_SETJMP 1 +#endif + From 7c51ab2130652a97b513e117a96f37346988384d Mon Sep 17 00:00:00 2001 From: M4x1m3 Date: Mon, 15 Feb 2021 14:57:04 +0100 Subject: [PATCH 2/2] [apps] Fixed build issue when too much cores --- apps/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/Makefile b/apps/Makefile index 6cea5268d..42cb556d0 100644 --- a/apps/Makefile +++ b/apps/Makefile @@ -91,6 +91,7 @@ $(BUILD_DIR)/apps/i18n.h: $(BUILD_DIR)/apps/i18n.cpp $(eval $(call depends_on_image,apps/title_bar_view.cpp,apps/exam_icon.png)) $(call object_for,$(apps_src) $(tests_src)): $(BUILD_DIR)/apps/i18n.h +$(call object_for,$(apps_src) $(tests_src)): $(BUILD_DIR)/apps/home/apps_layout.h $(call object_for,$(apps_src) $(tests_src)): $(BUILD_DIR)/python/port/genhdr/qstrdefs.generated.h apps_tests_src = $(app_calculation_test_src) $(app_code_test_src) $(app_graph_test_src) $(app_probability_test_src) $(app_regression_test_src) $(app_sequence_test_src) $(app_shared_test_src) $(app_statistics_test_src) $(app_settings_test_src) $(app_solver_test_src)