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

Reply via email to