Ping. Add Peter Maydell.
Thanks Wei ---------- Forwarded message ---------- From: Yang Wei <w90p...@gmail.com> Date: 2015-12-02 15:56 GMT+08:00 Subject: [Qemu-devel] scripts/gdb: Fix a python exception in mtree.py To: blauwir...@gmail.com, stefa...@redhat.com, a...@redhat.com Cc: qemu-devel@nongnu.org The following exception is threw: Python Exception <class 'NameError'> name 'long' is not defined: Error occurred in Python command: name 'long' is not defined In python3, long is rename to int Signed-off-by: Yang Wei <w90p...@gmail.com> --- scripts/qemugdb/mtree.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/scripts/qemugdb/mtree.py b/scripts/qemugdb/mtree.py index 06011c3..460d4b6 100644 --- a/scripts/qemugdb/mtree.py +++ b/scripts/qemugdb/mtree.py @@ -16,12 +16,19 @@ # 'qemu mtree' -- display the memory hierarchy import gdb +import sys def isnull(ptr): return ptr == gdb.Value(0).cast(ptr.type) +# PEP 0237: long renamed to int. That is, there is only one built-integral +# integral type, named int; but it behaves mostly like the old long type. +# https://docs.python.org/3.3/whatsnew/3.0.html#integers +def intptr(p): + return long(p) if sys.version_info.major == 2 else int(p) + def int128(p): - return long(p['lo']) + (long(p['hi']) << 64) + return intptr(p['lo']) + (intptr(p['hi']) << 64) class MtreeCommand(gdb.Command): '''Display the memory tree hierarchy''' @@ -40,11 +47,11 @@ class MtreeCommand(gdb.Command): def process_queue(self): while self.queue: ptr = self.queue.pop(0) - if long(ptr) in self.seen: + if intptr(ptr) in self.seen: continue self.print_item(ptr) def print_item(self, ptr, offset = gdb.Value(0), level = 0): - self.seen.add(long(ptr)) + self.seen.add(intptr(ptr)) addr = ptr['addr'] addr += offset size = int128(ptr['size']) @@ -58,8 +65,8 @@ class MtreeCommand(gdb.Command): klass = ' (RAM)' gdb.write('%s%016x-%016x %s%s (@ %s)\n' % (' ' * level, - long(addr), - long(addr + (size - 1)), + intptr(addr), + intptr(addr + (size - 1)), ptr['name'].string(), klass, ptr, -- 1.9.1