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

Reply via email to