diff --git a/sys/amd64/linux/linux.h b/sys/amd64/linux/linux.h index c9e28f20ef9..b31b520cb57 100644 --- a/sys/amd64/linux/linux.h +++ b/sys/amd64/linux/linux.h @@ -277,17 +277,6 @@ struct l_ifconf { #define linux_copyout_rusage(r, u) copyout(r, u, sizeof(*r)) -/* robust futexes */ -struct linux_robust_list { - l_uintptr_t next; -}; - -struct linux_robust_list_head { - struct linux_robust_list list; - l_long futex_offset; - l_uintptr_t pending_list; -}; - /* This corresponds to 'struct user_regs_struct' in Linux. */ struct linux_pt_regset { l_ulong r15; diff --git a/sys/amd64/linux32/linux.h b/sys/amd64/linux32/linux.h index 7909c9c2081..c7789734450 100644 --- a/sys/amd64/linux32/linux.h +++ b/sys/amd64/linux32/linux.h @@ -442,17 +442,6 @@ int linux32_copyinuio(struct l_iovec32 *iovp, l_ulong iovcnt, int linux_copyout_rusage(struct rusage *ru, void *uaddr); #endif /* _KERNEL */ -/* robust futexes */ -struct linux_robust_list { - l_uintptr_t next; -}; - -struct linux_robust_list_head { - struct linux_robust_list list; - l_long futex_offset; - l_uintptr_t pending_list; -}; - /* This corresponds to 'struct user_regs_struct32' in Linux. */ struct linux_pt_regset32 { l_uint ebx; diff --git a/sys/arm64/linux/linux.h b/sys/arm64/linux/linux.h index fe9c9b23e55..8ecadff2e22 100644 --- a/sys/arm64/linux/linux.h +++ b/sys/arm64/linux/linux.h @@ -217,17 +217,6 @@ struct l_ifreq { #define linux_copyout_rusage(r, u) copyout(r, u, sizeof(*r)) -/* robust futexes */ -struct linux_robust_list { - l_uintptr_t next; -}; - -struct linux_robust_list_head { - struct linux_robust_list list; - l_long futex_offset; - l_uintptr_t pending_list; -}; - struct linux_pt_regset { l_ulong x[31]; l_ulong sp; diff --git a/sys/compat/linux/linux_futex.h b/sys/compat/linux/linux_futex.h index 189db4e17c4..53fe1bfd095 100644 --- a/sys/compat/linux/linux_futex.h +++ b/sys/compat/linux/linux_futex.h @@ -79,6 +79,17 @@ #define FUTEX_TID_MASK 0x3fffffff #define FUTEX_BITSET_MATCH_ANY 0xffffffff +/* robust futexes */ +struct linux_robust_list { + l_uintptr_t next; +}; + +struct linux_robust_list_head { + struct linux_robust_list list; + l_long futex_offset; + l_uintptr_t pending_list; +}; + int futex_xchgl(int oparg, uint32_t *uaddr, int *oldval); int futex_addl(int oparg, uint32_t *uaddr, int *oldval); int futex_orl(int oparg, uint32_t *uaddr, int *oldval); diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index 86fca2976f8..c651da6b585 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -395,15 +395,4 @@ struct l_desc_struct { #define linux_copyout_rusage(r, u) copyout(r, u, sizeof(*r)) -/* robust futexes */ -struct linux_robust_list { - struct linux_robust_list *next; -}; - -struct linux_robust_list_head { - struct linux_robust_list list; - l_long futex_offset; - struct linux_robust_list *pending_list; -}; - #endif /* !_I386_LINUX_H_ */ diff --git a/sys/i386/linux/linux_copyout.c b/sys/i386/linux/linux_copyout.c index 6dc98bc8bf5..5672787d5df 100644 --- a/sys/i386/linux/linux_copyout.c +++ b/sys/i386/linux/linux_copyout.c @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include