Thanks for the pointers, Nate. I found the problem after a while. It was 
actually not in the simulator at all :-)  It seems that the gcc I'm 
simulating actually closes stdin and stdout when it finishes. Since the 
simulator doesn't check for this, it just gets passed on and so the 
simulator loses these too. I've just added a quick check in the syscall 
implementation to catch these cases and ignore them.

Cheers
Tim

On 19/06/09 18:44, nathan binkert wrote:
>> I'm running an AtomicSimpleCPU using ALPHA_SE. Usually, at the end of
>> simulation I get the standard message:
>>
>> Exiting @ cycle 1297500 because target called exit()
>>
>> But, for one of my programs (gcc), I don't get this at all. The
>> simulation just stops when the program has finished. The stats and
>> config files are written just fine and the simulator exits normally, but
>> it doesn't print that message. It seems that the simulate() function
>> never returns so the simulator must be exiting elsewhere. I can't figure
>> out where though.
>>
>> Could anyone shed some light on why this might be happening or where I
>> should look to try to find out what's wrong with this? Is there some way
>> that the simulation could finish without control passing to the user's
>> python script?
> I don't think so.  Not without some code calling exit() somewhere (or
> causing some sort of fault).
> 
> I think your best bet is to fire up a debugger and try to set some
> breakpoints.  One of the last things that happens is the dumping of
> stats, so since that is happening, set a breakpoint there and see
> where it is getting called from.
> 
> Alternatively, you can look in the stats file and figure out how many
> cycles are run, and then turn on all trace flags one cycle before the
> exit and see what comes out.  Unfortunately, this may not help a ton
> since the exit process doesn't really have many DPRINTF statements.
> 
>   Nate
> _______________________________________________
> m5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
> 

-- 
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to