http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50678
--- Comment #69 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2013-02-02 18:38:02 UTC --- > Apologies to all; I don't know what I did wrong, but now I've rebuilt the > unpatched tree and a version with register-swap disabled in separate build > trees, and the register-swap is no longer needed in Darwin 12.2.1 and, if > applied, results in the same error that it was designed to cure. > > I'm still using Xcode 4.6, but I no longer believe that affects this issue. OK, thanks, so the bug has apparently been fixed in Darwin 12. The last thing to do is to devise a _run time_ test to be added to __gnat_adjust_context_for_raise that will disable the code if the Darwin version is 12 or above. Essentially anything that works is acceptable. Any Darwin expert out there?