Rainer Orth <r...@cebitec.uni-bielefeld.de> writes: > diff --git a/gcc/ada/init.c b/gcc/ada/init.c > --- a/gcc/ada/init.c > +++ b/gcc/ada/init.c > @@ -1031,7 +1031,7 @@ __gnat_install_handler (void) > exceptions. Make sure that the handler isn't interrupted by another > signal that might cause a scheduling event! */ > > - act.sa_handler = __gnat_error_handler; > + act.sa_sigaction = __gnat_error_handler; > act.sa_flags = SA_NODEFER | SA_RESTART | SA_SIGINFO; > sigemptyset (&act.sa_mask); > > diff --git a/gcc/ada/tracebak.c b/gcc/ada/tracebak.c > --- a/gcc/ada/tracebak.c > +++ b/gcc/ada/tracebak.c > @@ -482,12 +482,12 @@ __gnat_backtrace (void **array, > while (cnt < size) > { > if (STOP_FRAME (current, top_stack) || > - !VALID_STACK_FRAME((char *)(current->return_address + PC_ADJUST))) > + !VALID_STACK_FRAME(((char *) current->return_address) + PC_ADJUST)) > break; > > if (current->return_address < exclude_min > || current->return_address > exclude_max) > - array[cnt++] = current->return_address + PC_ADJUST; > + array[cnt++] = ((char *) current->return_address) + PC_ADJUST; > > current = (struct layout *) ((size_t) current->next + FRAME_OFFSET > (1)); > }
These patches are OK unless some Ada maintainer objects in the next 24 hours. Thanks. Ian