I've compiled a C program for ARM on Linux Ubuntu 16.04 using

arm-linux-gnueabi-gcc -o MM1.ARM -O3 -static -g -Wall MM1.c


file MM1.ARM
MM1.ARM: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically 
linked, for GNU/Linux 3.2.0, 
BuildID[sha1]=b6582e1073682d41eb5262ad5393cebb8578e05d, not stripped

uname -a
Linux  4.4.0-59-generic #80-Ubuntu SMP Fri Jan 6 17:47:47 UTC 2017 x86_64 
x86_64 x86_64 GNU/Linux

arm-linux-gnueabi-gcc --version
arm-linux-gnueabi-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609

And tried to run a simulation

 build/ARM/gem5.opt configs/example/se.py ../MM1.ARM

And then the following output is produced:

gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 compiled Jan  9 2017 14:04:12
gem5 started Feb  7 2017 13:54:14
gem5 executing on matrix01.doc.ic.ac.uk, pid 1076665
command line: build/ARM/gem5.opt configs/example/se.py ../MM1.ARM

Error: script doesn't take any positional arguments
matrix01% build/ARM/gem5.opt configs/example/se.py -c ../MM1.ARM -o "2"
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 compiled Jan  9 2017 14:04:12
gem5 started Feb  7 2017 13:54:29
gem5 executing on matrix01.doc.ic.ac.uk, pid 1076778
command line: build/ARM/gem5.opt configs/example/se.py -c ../MM1.ARM -o 2

Global frequency set at 1000000000000 ticks per second
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (512 Mbytes)
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
warn: ClockedObject: More than one power state change request encountered 
within the same simulation tick
**** REAL SIMULATION ****
info: Entering event queue @ 0.  Starting simulation...
FATAL: kernel too old
warn: ignoring syscall rt_sigprocmask(1, ...)
      (further warnings will be suppressed)
panic: Page table fault when accessing virtual address 0xfffffba8
 @ tick 622500
[invoke:build/ARM/sim/faults.cc, line 69]
Memory Usage: 666340 KBytes
Program aborted at tick 622500
--- BEGIN LIBC BACKTRACE ---
build/ARM/gem5.opt(_Z15print_backtracev+0x28)[0xff8178]
build/ARM/gem5.opt(_Z12abortHandleri+0x46)[0x10140f6]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7ff7651a8390]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7ff763ecf428]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7ff763ed102a]
build/ARM/gem5.opt(_Z15__exit_epilogueiPKcS0_iS0_+0x440)[0xf386c0]
build/ARM/gem5.opt(_Z14__exit_messageIImEEvPKciS1_S1_iS1_DpRKT_+0x10b)[0x92c99b]
build/ARM/gem5.opt(_ZN21GenericPageTableFault6invokeEP13ThreadContextRK14RefCountingPtrI10StaticInstE+0x3b)[0x1061dfb]
build/ARM/gem5.opt(_ZN13BaseSimpleCPU9advancePCERKSt10shared_ptrI9FaultBaseE+0x104)[0xa78544]
build/ARM/gem5.opt(_ZN15AtomicSimpleCPU4tickEv+0x3e0)[0xa6ece0]
build/ARM/gem5.opt(_ZN10EventQueue10serviceOneEv+0xb1)[0x1005651]
build/ARM/gem5.opt(_Z9doSimLoopP10EventQueue+0x50)[0x102fe20]
build/ARM/gem5.opt(_Z8simulatem+0x203)[0x10303f3]
build/ARM/gem5.opt[0xfa2f72]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7852)[0x7ff765472552]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7ff76559c01c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7ff765471cfd]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7124)[0x7ff765471e24]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7124)[0x7ff765471e24]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7ff76559c01c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7ff76546ab89]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x613b)[0x7ff765470e3b]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7ff76559c01c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7ff765471cfd]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7ff76559c01c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7ff76546ab89]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyRun_StringFlags+0x76)[0x7ff7654d8166]
build/ARM/gem5.opt(_Z6m5MainiPPc+0x6f)[0x10138ff]
build/ARM/gem5.opt(main+0x33)[0x8b12a3]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7ff763eba830]
build/ARM/gem5.opt(_start+0x29)[0x902109]
--- END LIBC BACKTRACE ---
Abort

Why does this happen?
I've read a few old threads about compiling a newer version of the kernel for 
gem5 but I don't understand what this means; what does the linux kernel have to 
do with gem5? Do i need to compile a separate kernel for every architecture 
(x86, ARM ...) ?


Thanks
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to