--- a/libjava/include/x86_64-signal.h +++ a/libjava/include/x86_64-signal.h @@ -28,7 +28,7 @@ #define HANDLE_DIVIDE_OVERFLOW \ do \ { \ - struct ucontext *_uc = (struct ucontext *)_p; \ + ucontext_t *_uc = (ucontext_t *)_p; \ gregset_t &_gregs = _uc->uc_mcontext.gregs; \ unsigned char *_rip = (unsigned char *)_gregs[REG_RIP]; \ \ --- a/libjava/include/i386-signal.h +++ a/libjava/include/i386-signal.h @@ -29,7 +29,7 @@ #define HANDLE_DIVIDE_OVERFLOW \ do \ { \ - struct ucontext *_uc = (struct ucontext *)_p; \ + ucontext_t *_uc = (ucontext_t *)_p; \ gregset_t &_gregs = _uc->uc_mcontext.gregs; \ unsigned char *_eip = (unsigned char *)_gregs[REG_EIP]; \ \ --- a/libjava/include/s390-signal.h +++ a/libjava/include/s390-signal.h @@ -51,7 +51,7 @@ struct \ { \ unsigned long int uc_flags; \ - struct ucontext *uc_link; \ + ucontext_t *uc_link; \ stack_t uc_stack; \ mcontext_t uc_mcontext; \ unsigned long sigmask[2]; \