J. David Bryan wrote:
I note from the generated code on the x86 processor that the jump is indirect through a location on the stack. Does the Sparc object to this? I seem to recall that certain processors don't allow jumps to code on the stack; might that possibly extend to jumps through the stack as well?
This seems strange at first (*), but would explain why it doesn't crash for me on Solaris. If so, then noexec_user_stack must have been set on your system, and unsetting it will avoid the crash. Can you try this?
(*) Quite strange, actually, since then any parameters and local variables of procedural type would not work.
Frank