From d892d39f33e94b8369e62ae973f050ca1a94ad28 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Tue, 25 Aug 2020 23:22:09 -0700 Subject: [PATCH] sim: Fix up the selectFunc syscall to work with g++ 10.2. This is no longer willing to implicitly cast between the locally defined Linux::fd_set type and the system fd_set type. That's pretty reasonable since those types are really independent of one another, and we shouldn't be using them interchangeably in the first place. That's a pre-existing condition though, and I just want to get the existing code to compile for now. Change-Id: I41d5f3695dfe5f0e406d074d31d13c6e3282df64 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33415 Reviewed-by: Ciro Santilli Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power Tested-by: kokoro --- src/sim/syscall_emul.hh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh index b23e86010..05a29f9fe 100644 --- a/src/sim/syscall_emul.hh +++ b/src/sim/syscall_emul.hh @@ -95,6 +95,7 @@ #include "config/the_isa.hh" #include "cpu/base.hh" #include "cpu/thread_context.hh" +#include "kern/linux/linux.hh" #include "mem/page_table.hh" #include "params/Process.hh" #include "sim/emul_driver.hh" @@ -2360,9 +2361,9 @@ selectFunc(SyscallDesc *desc, ThreadContext *tc, int nfds, if (retval == -1) return -errno; - FD_ZERO(readfds); - FD_ZERO(writefds); - FD_ZERO(errorfds); + FD_ZERO(reinterpret_cast((typename OS::fd_set *)readfds)); + FD_ZERO(reinterpret_cast((typename OS::fd_set *)writefds)); + FD_ZERO(reinterpret_cast((typename OS::fd_set *)errorfds)); /** * We need to translate the host file descriptor set into a target file -- 2.30.2