Comments (7)
I have a temporary solution for this, but not sure it'll meet your requirements:
https://github.com/firesim/riscv-fesvr/tree/windows
To handle addr_t
, you can give -D__addr_t_defined
to gcc.
from riscv-fesvr.
Supporting Cygwin hasn't been high on our priority list, but we'd of course be willing to review a compatibility patch.
from riscv-fesvr.
I will try to fixit. but infect, I am just run into linux programming world.
It seems easy to clean up type definition conflicting by given a more private name.
but while goes on, there comes another error which seems more confused to me:
../fesvr/syscall.cc: In member function โreg_t syscall_t::sys_openat(reg_t, reg_t, reg_t, reg_t, reg_t, reg_t, reg_t)โ:
../fesvr/syscall.cc:217:101: error: โopenatโ was not declared in this scope
(syscall(fds.lookup(fd), int(fd) == RISCV_AT_FDCWD ? do_chroot(name).c_str() : (name), VA_ARGS))
I have try to add "-I/usr/include" to compiler, where "fcntl.h" can be found.
But seems useless.
Can you help to give me some directions?
Thanks.
from riscv-fesvr.
To call this "annoying" is putting it mildly. While I'm a hardcore Linux person (I'm part of the crowd that started the whole "Embedded Linux" craze decades ago...) not everybody can USE nothing but it. "Not high on our priority list" for something that's this important and you can't do this on a Windows system save via VM? Current client has me stuck on Windows only for company security policy reasons (And NO, there will be no convincing them otherwise...) and a VM's weak on this class of machine they've got as a normal desktop.
I'll look into what needs to be done to fix this...sigh...
from riscv-fesvr.
for addr_t type, I made WAR like "typedef reg_t addr_t1; #define addr_t addr_t1" and revert including sequence in related .c files.
for missing lib functions like openat, I am not sure how to minimize the changes. Thinking.
from riscv-fesvr.
@donggyukim, yes, that's very helpful, thanks a lot.
I was hesitate whether to look for third-part files that support openat...And your change looks straightforward and quite good.
I google and don't find desscription for usage of "-D__addr_t_defined". I see in .ii file, it's something like:
typedef reg_t addr_t; addr_t xxx; typedef char * addr_t;
How gcc deal with -D__addr_t_defined in this case?
from riscv-fesvr.
I think the right way to solve this is to stop using the name addr_t
in the global namespace. The __addr_t_defined
workaround is brittle, as it assumes details of the Newlib header implementation.
We can probably fix this by moving it into the memif_t
namespace. I'll look into it later.
from riscv-fesvr.
Related Issues (18)
- Clarify licensing between `LICENSE` and `COPYING` HOT 2
- Building on OS X fails HOT 3
- Compile fails on macOS X 10.12 with clang HOT 1
- Command Line Option Cleanup, Remove Unsupported Options (e.g., remove `+disk`)
- Update fesvr to Debug V13
- _
- device-tree-compiler not found HOT 1
- User provided compile flags overridden by configure
- error: expected unqualified-id before '(' token HOT 1
- dtm_t vs tsi_t: Multicore / multiple hart support missing for tsi_t HOT 1
- Debug: reduce need for program buffer words
- Building with gcc 4.4 fails HOT 2
- Fail to build "fesvr-zynq" executable file like README.md.
- Cannot build fesvr due to std::runtime_error
- openbsd: gmake: ../scripts/vcs-version.sh: Command not found HOT 6
- Support for non-compiled simulators
- Version number HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from riscv-fesvr.