【发布时间】:2018-12-17 18:23:12
【问题描述】:
我在 gem5 中遇到以下错误。这仅在 ARM 中发生。在 X86 中,我看到一些系统调用被忽略,但没有一个会导致致命错误。
tomas@ubuntu:~/gem5$ ./build/ARM/gem5.opt configs/example/arm/starter_se.py ../tests_gem5/hello
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled Jul 9 2018 17:09:01
gem5 started Jul 9 2018 18:07:37
gem5 executing on ubuntu, pid 5064
command line: ./build/ARM/gem5.opt configs/example/arm/starter_se.py ../tests_gem5/hello
info: 1. command and arguments: ['../tests_gem5/hello']
Global frequency set at 1000000000000 ticks per second
warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (1024 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (1024 Mbytes)
0: system.remote_gdb: listening for remote gdb on port 7000
info: Entering event queue @ 0. Starting simulation...
fatal: syscall openat (#322) unimplemented.
Memory Usage: 2246296 KBytes
我在 gem5 的常见问题解答中找到了 this 答案。但是现在它显示了这个错误:
warn: ignoring syscall openat(...)
FATAL: kernel too old
warn: ignoring syscall rt_sigprocmask(...)
(further warnings will be suppressed)
fatal: syscall gettid (#224) unimplemented.
我正在使用这个在 Ubuntu 18.04 中编译:
arm-linux-gnueabi-gcc hello.c -o hello -static -DUNIX
有没有人找到一种方法来编译一个简单的 hello world,针对 ARM,不使用 gem5 不支持的系统调用?有预编译的例子,所以一定有办法。
【问题讨论】:
-
注意:在最近的 gem5 更新之后,C glibc hello world 至少现在可以在 Ubuntu 预打包工具链上运行,请参阅:stackoverflow.com/questions/53085048/…
标签: linux arm cross-compiling system-calls gem5