Commit 19276f18 authored by Victor Stinner's avatar Victor Stinner

Issue #23654: Fix faulthandler._stack_overflow() for the Intel C Compiler (ICC)

Issue #23654: Turn off ICC's tail call optimization for the stack_overflow
generator. ICC turns the recursive tail call into a loop.

Patch written by Matt Frank.
parent d4c2ac83
......@@ -436,6 +436,7 @@ Doug Fort
Chris Foster
John Fouhy
Andrew Francis
Matt Frank
Stefan Franke
Martin Franklin
Kent Frazier
......
......@@ -911,7 +911,14 @@ faulthandler_fatal_error_py(PyObject *self, PyObject *args)
}
#if defined(HAVE_SIGALTSTACK) && defined(HAVE_SIGACTION)
static Py_uintptr_t
#ifdef __INTEL_COMPILER
/* Issue #23654: Turn off ICC's tail call optimization for the
* stack_overflow generator. ICC turns the recursive tail call into
* a loop. */
# pragma intel optimization_level 0
#endif
static
Py_uintptr_t
stack_overflow(Py_uintptr_t min_sp, Py_uintptr_t max_sp, size_t *depth)
{
/* allocate 4096 bytes on the stack at each call */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment