Hello,

Have you compiled your binary statically? I believe dynamically linked
executables will only work if the host and the guest are *exactly* the same
(e.g., both x86-64 in this case).

Jason

On Mon, May 14, 2018 at 7:10 AM Øyvind Harboe <[email protected]>
wrote:

> I'm getting a "bad_alloc" from the config/examples/se.py script when I try
> to run the small C application below that calls clock().
>
> Any pointers on what's going on would be most welcome.
>
> Please find a transcript of how I've tested:
>
> I first test with 64 bit, then with 32 bit x86. 64 bit x86 works fine.
>
> $ cd gem5
> $ git describe --tags
> copyright_update-7291-gce00e6042
> $ cat test.c
> #include <time.h>
>
> int main(int argc, char **argv)
> {
>   clock();
>   return 0;
> }
> $ gcc ./test.c
> $ build/X86/gem5.opt configs/example/se.py -c ./a.out
> gem5 Simulator System.  http://gem5.org
> gem5 is copyrighted software; use the --copyright option for details.
>
> gem5 compiled May 14 2018 14:59:03
> gem5 started May 14 2018 16:00:16
> gem5 executing on davos, pid 31640
> command line: build/X86/gem5.opt configs/example/se.py -c ./a.out
>
> 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: listening for remote gdb on port 7000
> **** REAL SIMULATION ****
> info: Entering event queue @ 0.  Starting simulation...
> warn: ignoring syscall access(...)
> warn: ignoring syscall access(...)
> warn: ignoring syscall access(...)
> warn: ignoring syscall mprotect(...)
> warn: ignoring syscall mprotect(...)
> warn: ignoring syscall mprotect(...)
> warn: ignoring syscall mprotect(...)
> Exiting @ tick 91225000 because exiting with last active thread context
>
>
> $ gcc -m32 ./test.c
> $ build/X86/gem5.opt configs/example/se.py -c ./a.out
> gem5 Simulator System.  http://gem5.org
> gem5 is copyrighted software; use the --copyright option for details.
>
> gem5 compiled May 14 2018 14:59:03
> gem5 started May 14 2018 16:00:23
> gem5 executing on davos, pid 31648
> command line: build/X86/gem5.opt configs/example/se.py -c ./a.out
>
> 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: listening for remote gdb on port 7000
> **** REAL SIMULATION ****
> info: Entering event queue @ 0.  Starting simulation...
> warn: ignoring syscall access(...)
> warn: ignoring syscall access(...)
> warn: ignoring syscall access(...)
> warn: ignoring syscall mprotect(...)
> warn: ignoring syscall mprotect(...)
> warn: ignoring syscall mprotect(...)
> warn: ignoring syscall mprotect(...)
> Traceback (most recent call last):
>   File "<string>", line 1, in <module>
>   File "/home/oyvind/gem5/src/python/m5/main.py", line 435, in main
>     exec filecode in scope
>   File "configs/example/se.py", line 286, in <module>
>     Simulation.run(options, root, system, FutureClass)
>   File "/home/oyvind/gem5/configs/common/Simulation.py", line 712, in run
>     exit_event = benchCheckpoints(options, maxtick, cptdir)
>   File "/home/oyvind/gem5/configs/common/Simulation.py", line 268, in
> benchCheckpoints
>     exit_event = m5.simulate(maxtick - m5.curTick())
>   File "/home/oyvind/gem5/src/python/m5/simulate.py", line 176, in simulate
>     return _m5.event.simulate(*args, **kwargs)
> MemoryError: std::bad_alloc
>
>
>
> --
> Øyvind Harboe, General Manager, Zylin AS, +47 917 86 146
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to