Browse Source

py: Move stack_ctrl_init() to mp_init().

As stack checking is enabled by default, ports which don't call
stack_ctrl_init() are broken now (report RuntimeError on startup). Save
them trouble and just init stack control framework in interpreter init.
pull/735/head
Paul Sokolovsky 11 years ago
parent
commit
8a96ebea75
  1. 3
      py/runtime.c
  2. 1
      stmhal/main.c
  3. 1
      unix/main.c

3
py/runtime.c

@ -45,6 +45,7 @@
#include "smallint.h"
#include "objgenerator.h"
#include "lexer.h"
#include "stackctrl.h"
#if 0 // print debugging info
#define DEBUG_PRINT (1)
@ -69,6 +70,8 @@ const mp_obj_module_t mp_module___main__ = {
};
void mp_init(void) {
stack_ctrl_init();
// call port specific initialization if any
#ifdef MICROPY_PORT_INIT_FUNC
MICROPY_PORT_INIT_FUNC;

1
stmhal/main.c

@ -187,7 +187,6 @@ static const char fresh_readme_txt[] =
int main(void) {
// TODO disable JTAG
stack_ctrl_init();
// Stack limit should be less than real stack size, so we
// had chance to recover from limit hit.
stack_set_limit(&_ram_end - &_heap_end - 512);

1
unix/main.c

@ -265,7 +265,6 @@ void pre_process_options(int argc, char **argv) {
#endif
int main(int argc, char **argv) {
stack_ctrl_init();
stack_set_limit(32768);
pre_process_options(argc, argv);

Loading…
Cancel
Save