The MLton stuff uses sigaltstack() (a system call) which should set things up so that an alternate stack is used on all signals. This is meant exactly for processes that are doing funny things with the stack register. Looking via google (for sigaltstack() and HPPA) I see items about kernel patches as recently as May of this year to fix it.