Richard Stallman wrote (in part):
What's the point of cross-jumping? It saves a certain amount of
space; it has no other benefit. All else being equal, there's no
reason not to do it. But cross-jumping abort calls interferes with
debugging. That's a good reason not to do it.
t's get rid of this optimization. Those who want to use a
fancy_abort function will still be able to do so, but this change will
be an improvement for the rest.
Would a new attribute be in order, that disables the optimization?
For example, __attribute__ ((unique_call))? That way, the programmer
can designate other procedures than abort() as procedures which
should not be cross-jumped.