Hi all, I'm using gem5 to run a multithreaded & multicore application compiled for ARM (aarch64). My application under test is also dynamically compiled. I provide the --interpr-dir and --redirects flags to se.py so it can find the interpreter and libraries. I'm able to successfully run a simple/toy multithreaded application with this setup.
However, when I move on to a more complex application (dependent on more libraries, etc) I'm facing the following error: warn: ignoring syscall mprotect(...) warn: ignoring syscall set_robust_list(...) warn: ignoring syscall rt_sigaction(...) warn: ignoring syscall rt_sigaction(...) warn: ignoring syscall rt_sigprocmask(...) (further warnings will be suppressed) warn: ignoring syscall get_mempolicy(...) warn: ignoring syscall sched_getaffinity(...) warn: fcntl64(3, 3) passed through to host sysconf(NPROCESSORS_CONF) failed: No such file or directory warn: fcntl64(3, 3) passed through to host request to allocate mask for invalid number: Invalid argument Exiting @ tick 395657918000 because exiting with last active thread context Simulated exit code not 0! Exit code is 1 Observations: * I modified src/arch/arm/linux/process.cc to set "get_mempolicy" syscall as ignoreFunc. I was having an 'unimplemented' error prior to that, and I thought it was safe to do it because that's what is done in the counterpart x86 file src/arch/x86/linux/process.cc * I also modified the said code to be as simple as a std::cout << "hello" << std::endl; in the main function, and removed all remaining source code (but kept the linked libraries when compiling). The error persists. I hence believe it has something to do with loading the libraries or environment preparation on gem5. There are previous threads about it but they are 3 years and were not very helpful for my case. Any suggestions? Thank you very much! Cheers, Pedro. _______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s