@needs_dlfcn
@no_fastcomp('WASM backend stack protection')
def test_safe_stack_dylink(self):
    self.set_setting('STACK_OVERFLOW_CHECK', 2)
    self.set_setting('TOTAL_STACK', 65536)
    self.dylink_test('\n      #include <stdio.h>\n      extern void sidey();\n      int main() {\n        sidey();\n      }\n    ', '\n      #include <string.h>\n\n      int f(int *b) {\n        int a[64];\n        memset(b, 0, 2048 * sizeof(int));\n        return f(a);\n      }\n\n      void sidey() {\n        int a[2048];\n        f(a);\n      }\n    ', ['abort(stack overflow)', '__handle_stack_overflow'], assert_returncode=None)
@needs_dlfcn
@no_fastcomp('WASM backend stack protection')
def test_safe_stack_dylink(self):
    self.set_setting('STACK_OVERFLOW_CHECK', 2)
    self.set_setting('TOTAL_STACK', 65536)
    self.dylink_test('\n      #include <stdio.h>\n      extern void sidey();\n      int main() {\n        sidey();\n      }\n    ', '\n      #include <string.h>\n\n      int f(int *b) {\n        int a[64];\n        memset(b, 0, 2048 * sizeof(int));\n        return f(a);\n      }\n\n      void sidey() {\n        int a[2048];\n        f(a);\n      }\n    ', ['abort(stack overflow)', '__handle_stack_overflow'], assert_returncode=None)