Hi,
I have been using Marss to simulate parsec/spec workloads and so far things
have been great. I was debugging one of my simulation runs in debug mode
(scons debug=1 core=8) but I found out that most of the local variables and
some of the function arguments were optimized out and I had to resort to
debugging the assembly. When I checked the script in ptlsim/SConstruct, I
see this piece of code (lines 33-38):
if int(debug):
env.Append(CCFLAGS = '-g')
# If debugging level is 1 then do optimize
if int(debug) == 1:
env.Append(CCFLAGS = '-O')
Was it intentional to *enable* optimization when debug =1 is specified?
Since I do not want any optimizations enabled in the *debug* build, I could
sidestep this by specifying, for example debug =2. But I still wanted to
confirm if enabling optimization (for debug=1) was intentional. If not,
perhaps we could change it to -O0.
Also, while at it, we could also change the earlier line to -g3 (or -ggdb3)
to enable macro expansion. More info here:
http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html.
(i.e)
if int(debug):
env.Append(CCFLAGS = '-g')
to
if int(debug):
env.Append(CCFLAGS = '-g3')
I felt these changes make it a tad-bit easier when we invariably endup
debugging our code.
Thanks,
- Bhushan
_______________________________________________
http://www.marss86.org
Marss86-Devel mailing list
[email protected]
https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel