Hello, I study computer architecture specially ARM. and I plan to research Gem5 and simulate it. but I got a trouble from beginning.
I simply run the X86 SE with *given* hello world binary like below. $ file ./tests/test-progs/hello/bin/x86/linux/hello ./tests/test-progs/hello/bin/x86/linux/hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, for GNU/Linux 2.4.1, not stripped $ ./build/X86/gem5.debug ./configs/example/se.py -c ./tests/test- progs/hello/bin/x86/linux/hello gem5 Simulator System. http://gem5.org gem5 is copyrighted software; use the --copyright option for details. gem5 compiled Aug 7 2012 19:19:04 gem5 started Aug 10 2012 00:40:19 gem5 executing on hubuntu command line: ./build/X86/gem5.debug ./configs/example/se.py -c ./tests/test- progs/hello/bin/x86/linux/hello Global frequency set at 1000000000000 ticks per second 0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000 **** REAL SIMULATION **** info: Entering event queue @ 0. Starting simulation... warn: instruction 'fnstcw_Mw' unimplemented warn: instruction 'fldcw_Mw' unimplemented Hello world! hack: be nice to actually delete the event here Exiting @ tick 6020500 because target called exit() I think this SE is working well and I can see the result of run. So, I build *given* hello world *source* manually but It works abnormally. $ cat ./tests/test-progs/hello/src/hello.c /* Copyright (c) 2006 The Regents of The University of Michigan ... */ #include <stdio.h> int main() { printf("Hello world!\n"); } $ gcc ./tests/test-progs/hello/src/hello.c -o hello.c.i386 -m32 -static -static- libgcc $ file hello.c.i386 hello.c.i386: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.24, BuildID[sha1]=0x40574c56a0c7afc068b8936685816c4ba87524d1, not stripped $ ./build/X86/gem5.debug ./configs/example/se.py -c ./hello.c.i386 gem5 Simulator System. http://gem5.org gem5 is copyrighted software; use the --copyright option for details. gem5 compiled Aug 7 2012 19:19:04 gem5 started Aug 10 2012 00:45:31 gem5 executing on hubuntu command line: ./build/X86/gem5.debug ./configs/example/se.py -c ./hello.c.i386 Global frequency set at 1000000000000 ticks per second 0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000 **** REAL SIMULATION **** info: Entering event queue @ 0. Starting simulation... fatal: readBlob(0x16080c3735, ...) failed @ cycle 4897460 [readBlob:build/X86/mem/se_translating_port_proxy.cc, line 87] Memory Usage: 4897460 KBytes I don't know why my binary can't simulate and given binary can. Do I miss any important compile option or some running option ???? I also curious how gem5 member build simple hello world binary located under ./tests directory My experimental environment is Ubuntu 12.04 64bit with some important pakcages scons, phython-dev, m4, ia32-libs, gcc-multilib, g++-multilib. Please comment any your advice. Thank you in advance! _______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users