I'm not sure.  Something must have happened when I rebased my patch
queue.  I believe all that needs to happen is delete the 4 lines
relating to --trace-help and --trace-flags.  Can someone delete them
for me and make sure that M5 still runs correctly?  I'm out of town
and I'm really not going to be able to do anything for a couple of
days.

  Nate

> Note that running "m5 --help" still has the old names:
>
> Trace Options
> -------------
> --trace-help            Print help on trace flags
> --trace-flags=FLAG[,FLAG]
>                        Sets the flags for tracing (-FLAG disables a flag)
> --trace-start=TIME      Start tracing at TIME (must be in ticks)
> --trace-file=FILE       Sets the output file for tracing [Default: cout]
> --trace-ignore=EXPR     Ignore EXPR sim objects
>
>
> On Wed, May 4, 2011 at 7:07 AM, Nathan Binkert <n...@binkert.org> wrote:
>
>> changeset 5a9a639ce16f in /z/repo/m5
>> details: http://repo.m5sim.org/m5?cmd=changeset;node=5a9a639ce16f
>> description:
>>        debug: fix help output
>>
>> diffstat:
>>
>>  src/base/debug.cc      |   4 ++--
>>  src/base/debug.hh      |  16 ++++++++--------
>>  src/python/m5/debug.py |  28 ++++++++++++++++++++--------
>>  3 files changed, 30 insertions(+), 18 deletions(-)
>>
>> diffs (115 lines):
>>
>> diff -r 3f49ed206f46 -r 5a9a639ce16f src/base/debug.cc
>> --- a/src/base/debug.cc Mon May 02 12:40:32 2011 -0700
>> +++ b/src/base/debug.cc Wed May 04 10:08:08 2011 -0400
>> @@ -101,14 +101,14 @@
>>  CompoundFlag::enable()
>>  {
>>     SimpleFlag::enable();
>> -    for_each(flags.begin(), flags.end(), mem_fun(&Flag::enable));
>> +    for_each(_kids.begin(), _kids.end(), mem_fun(&Flag::enable));
>>  }
>>
>>  void
>>  CompoundFlag::disable()
>>  {
>>     SimpleFlag::disable();
>> -    for_each(flags.begin(), flags.end(), mem_fun(&Flag::disable));
>> +    for_each(_kids.begin(), _kids.end(), mem_fun(&Flag::disable));
>>  }
>>
>>  struct AllFlags : public Flag
>> diff -r 3f49ed206f46 -r 5a9a639ce16f src/base/debug.hh
>> --- a/src/base/debug.hh Mon May 02 12:40:32 2011 -0700
>> +++ b/src/base/debug.hh Wed May 04 10:08:08 2011 -0400
>> @@ -44,6 +44,7 @@
>>   protected:
>>     const char *_name;
>>     const char *_desc;
>> +    std::vector<Flag *> _kids;
>>
>>   public:
>>     Flag(const char *name, const char *desc);
>> @@ -51,6 +52,7 @@
>>
>>     std::string name() const { return _name; }
>>     std::string desc() const { return _desc; }
>> +    std::vector<Flag *> kids() { return _kids; }
>>
>>     virtual void enable() = 0;
>>     virtual void disable() = 0;
>> @@ -77,7 +79,12 @@
>>  class CompoundFlag : public SimpleFlag
>>  {
>>   protected:
>> -    std::vector<Flag *> flags;
>> +    void
>> +    addFlag(Flag &f)
>> +    {
>> +        if (&f != NULL)
>> +            _kids.push_back(&f);
>> +    }
>>
>>   public:
>>     CompoundFlag(const char *name, const char *desc,
>> @@ -99,13 +106,6 @@
>>         addFlag(f15); addFlag(f16); addFlag(f17); addFlag(f18);
>> addFlag(f19);
>>     }
>>
>> -    void
>> -    addFlag(Flag &f)
>> -    {
>> -        if (&f != NULL)
>> -            flags.push_back(&f);
>> -    }
>> -
>>     void enable();
>>     void disable();
>>  };
>> diff -r 3f49ed206f46 -r 5a9a639ce16f src/python/m5/debug.py
>> --- a/src/python/m5/debug.py    Mon May 02 12:40:32 2011 -0700
>> +++ b/src/python/m5/debug.py    Wed May 04 10:08:08 2011 -0400
>> @@ -26,24 +26,36 @@
>>  #
>>  # Authors: Nathan Binkert
>>
>> +from UserDict import DictMixin
>> +
>>  import internal
>>
>> +from internal.debug import SimpleFlag, CompoundFlag
>>  from internal.debug import schedBreakCycle, setRemoteGDBPort
>> +from m5.util import printList
>>
>>  def help():
>>     print "Base Flags:"
>> -    for flag in flags.basic:
>> -        print "    %s: %s" % (flag, flags.descriptions[flag])
>> +    for name in sorted(flags):
>> +        if name == 'All':
>> +            continue
>> +        flag = flags[name]
>> +        children = [c for c in flag.kids() ]
>> +        if not children:
>> +            print "    %s: %s" % (name, flag.desc())
>>     print
>>     print "Compound Flags:"
>> -    for flag in flags.compound:
>> -        if flag == 'All':
>> +    for name in sorted(flags):
>> +        if name == 'All':
>>             continue
>> -        print "    %s: %s" % (flag, flags.descriptions[flag])
>> -        util.printList(flags.compoundMap[flag], indent=8)
>> -        print
>> +        flag = flags[name]
>> +        children = [c for c in flag.kids() ]
>> +        if children:
>> +            print "    %s: %s" % (name, flag.desc())
>> +            printList([ c.name() for c in children ], indent=8)
>> +    print
>>
>> -class AllFlags(object):
>> +class AllFlags(DictMixin):
>>     def __init__(self):
>>         self._version = -1
>>         self._dict = {}
>> _______________________________________________
>> m5-dev mailing list
>> m5-dev@m5sim.org
>> http://m5sim.org/mailman/listinfo/m5-dev
>>
> _______________________________________________
> m5-dev mailing list
> m5-dev@m5sim.org
> http://m5sim.org/mailman/listinfo/m5-dev
>
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to