1--- a/libjava/include/x86_64-signal.h
2+++ a/libjava/include/x86_64-signal.h
3@@ -28,7 +28,7 @@
4 #define HANDLE_DIVIDE_OVERFLOW \
5 do \
6 { \
7- struct ucontext *_uc = (struct ucontext *)_p; \
8+ ucontext_t *_uc = (ucontext_t *)_p; \
9 gregset_t &_gregs = _uc->uc_mcontext.gregs; \
10 unsigned char *_rip = (unsigned char *)_gregs[REG_RIP]; \
11 \
12--- a/libjava/include/i386-signal.h
13+++ a/libjava/include/i386-signal.h
14@@ -29,7 +29,7 @@
15 #define HANDLE_DIVIDE_OVERFLOW \
16 do \
17 { \
18- struct ucontext *_uc = (struct ucontext *)_p; \
19+ ucontext_t *_uc = (ucontext_t *)_p; \
20 gregset_t &_gregs = _uc->uc_mcontext.gregs; \
21 unsigned char *_eip = (unsigned char *)_gregs[REG_EIP]; \
22 \
23--- a/libjava/include/s390-signal.h
24+++ a/libjava/include/s390-signal.h
25@@ -51,7 +51,7 @@
26 struct \
27 { \
28 unsigned long int uc_flags; \
29- struct ucontext *uc_link; \
30+ ucontext_t *uc_link; \
31 stack_t uc_stack; \
32 mcontext_t uc_mcontext; \
33 unsigned long sigmask[2]; \