Message ID | 5BA8F0A2-E604-400F-94C1-608B83847505@sandoe-acoustics.co.uk |
---|---|
State | New |
Headers | show |
> the following is reg-strapping on x86-64-darwin10, Thanks a lot! > OK for trunk (and 4.6) if it succeeds (with a ChangeLog, of course) ? Yes, modulo: > +static void > +__gnat_error_handler (int sig, siginfo_t *si, void *ucontext > ATTRIBUTE_UNUSED) Remove ATTRIBUTE_UNUSED and... > +#if defined (__x86_64__) > + /* Work around #10302855/pr50678 on x86-64 Darwin. */ > + __gnat_adjust_context_for_raise (sig, ucontext); > +#endif ...remove everything except for the call to _gnat_adjust_context_for_raise.
Index: gcc/ada/init.c =================================================================== --- gcc/ada/init.c (revision 181448) +++ gcc/ada/init.c (working copy) @@ -2282,11 +2282,12 @@ __gnat_is_stack_guard (mach_vm_address_t addr) return 0; } -static void -__gnat_error_handler (int sig, siginfo_t *si, void *ucontext ATTRIBUTE_UNUSED) +#define HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE + +void +__gnat_adjust_context_for_raise (int signo ATTRIBUTE_UNUSED, + void *ucontext ATTRIBUTE_UNUSED) { - struct Exception_Data *exception; - const char *msg; #if defined (__x86_64__) /* Work around radar #10302855/pr50678, where the unwinders