From: Gabe Black Date: Wed, 26 Aug 2020 06:22:09 +0000 (-0700) Subject: sim: Fix up the selectFunc syscall to work with g++ 10.2. X-Git-Tag: v20.1.0.0~220 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d892d39f33e94b8369e62ae973f050ca1a94ad28;p=gem5.git 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 --- 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