diff options
author | Andrew Waterman <andrew@sifive.com> | 2021-03-25 16:35:50 -0700 |
---|---|---|
committer | Andrew Waterman <andrew@sifive.com> | 2021-03-25 16:35:50 -0700 |
commit | b65ead89309305cbe7d257dec1694e827f827bff (patch) | |
tree | db2ebb43373389a2001085e5d8e1e0fb5d46c752 /fesvr/syscall.cc | |
parent | 3caa6e43493b9ee356d83d7dfa009ae78270ae4c (diff) | |
download | spike-b65ead89309305cbe7d257dec1694e827f827bff.zip spike-b65ead89309305cbe7d257dec1694e827f827bff.tar.gz spike-b65ead89309305cbe7d257dec1694e827f827bff.tar.bz2 |
Fix Ubuntu 16.04 build
Was broken by #681.
Diffstat (limited to 'fesvr/syscall.cc')
-rw-r--r-- | fesvr/syscall.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fesvr/syscall.cc b/fesvr/syscall.cc index 8a9b29b..298d851 100644 --- a/fesvr/syscall.cc +++ b/fesvr/syscall.cc @@ -64,6 +64,7 @@ struct riscv_statx_timestamp { target_endian<int32_t> __reserved; }; +#ifdef HAVE_STATX struct riscv_statx { target_endian<uint32_t> mask; @@ -134,6 +135,7 @@ struct riscv_statx #endif {} }; +#endif syscall_t::syscall_t(htif_t* htif) : htif(htif), memif(&htif->memif()), table(2048) @@ -303,6 +305,9 @@ reg_t syscall_t::sys_lstat(reg_t pname, reg_t len, reg_t pbuf, reg_t a3, reg_t a reg_t syscall_t::sys_statx(reg_t fd, reg_t pname, reg_t len, reg_t flags, reg_t mask, reg_t pbuf, reg_t a6) { +#ifndef HAVE_STATX + return -ENOSYS; +#else std::vector<char> name(len); memif->read(pname, len, &name[0]); @@ -314,6 +319,7 @@ reg_t syscall_t::sys_statx(reg_t fd, reg_t pname, reg_t len, reg_t flags, reg_t memif->write(pbuf, sizeof(rbuf), &rbuf); } return ret; +#endif } #define AT_SYSCALL(syscall, fd, name, ...) \ |