app sigaltstack is thrown away when attaching
DR's signal code copies the entire thread_sig_info_t from the parent (or takeover thread) and then signal_thread_inherit goes and clears non-inherited fields like the sigaltstack. This works fine when DR controls the app from the beginning. However, on attach we're sharing every thread's signal info and we're querying the app's sigaltstack prior to the call to signal_thread_inherit. The end result is that we discard the stored app sigaltstack, not using it when emulating signal delivery, and not restoring it on detach.