From: Yunqiang Su <y...@wavecomp.com> Add support for SO_REUSEPORT, including strace support. SO_REUSEPORT was introduced relatively recently, since Linux 3.9, so use '#if defined SO_REUSEPORT'.
Signed-off-by: Yunqiang Su <y...@wavecomp.com> Signed-off-by: Aleksandar Markovic <amarko...@wavecomp.com> --- linux-user/strace.c | 3 +++ linux-user/syscall.c | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/linux-user/strace.c b/linux-user/strace.c index 33f4a50..d1d1494 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -1742,6 +1742,9 @@ print_optint: case TARGET_SO_REUSEADDR: gemu_log("SO_REUSEADDR,"); goto print_optint; + case TARGET_SO_REUSEPORT: + gemu_log("SO_REUSEPORT,"); + goto print_optint; case TARGET_SO_TYPE: gemu_log("SO_TYPE,"); goto print_optint; diff --git a/linux-user/syscall.c b/linux-user/syscall.c index e722ba8..fac4a06 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -2057,6 +2057,11 @@ set_timeout: case TARGET_SO_REUSEADDR: optname = SO_REUSEADDR; break; +#ifdef SO_REUSEPORT + case TARGET_SO_REUSEPORT: + optname = SO_REUSEPORT; + break; +#endif case TARGET_SO_TYPE: optname = SO_TYPE; break; @@ -2218,6 +2223,11 @@ static abi_long do_getsockopt(int sockfd, int level, int optname, case TARGET_SO_REUSEADDR: optname = SO_REUSEADDR; goto int_case; +#ifdef SO_REUSEPORT + case TARGET_SO_REUSEPORT: + optname = SO_REUSEPORT; + goto int_case; +#endif case TARGET_SO_TYPE: optname = SO_TYPE; goto int_case; -- 2.7.4