> I can only say that under AmigaOS it would certainly be a no-no:
No. From what I read there, I believe that they do it the same way I do.
They talk about "task stacks" and "preserved on this stack". I assume
that these "stacks" all reside on the single hardware stack, right? So
there is a stack *frame* for each task, and this frame might also be
used to save exception context. That's all right.
It seems not forbidden, however, to allocate several frames below each
other, where the active stack pointer points into some upper frame,
right? That's the problem I'm talking about.