From 9a14af7b1a6765a353d4bf710d267a1c47a162fb Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Wed, 27 Jun 2018 15:21:47 -0400 Subject: [PATCH] Add pretty-printer for CORE_ADDR Add a pretty-printer that prints CORE_ADDR values in hex. gdb/ChangeLog: * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class. (type_lookup_function): Recognize CORE_ADDR values. --- gdb/ChangeLog | 5 +++++ gdb/gdb-gdb.py.in | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 18c1915..d8bae23 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2018-06-27 Simon Marchi + * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class. + (type_lookup_function): Recognize CORE_ADDR values. + +2018-06-27 Simon Marchi + * gdb-gdb.py.in (StructMainTypePrettyPrinter) : Don't print tag_name. diff --git a/gdb/gdb-gdb.py.in b/gdb/gdb-gdb.py.in index cde6068..436f05c 100644 --- a/gdb/gdb-gdb.py.in +++ b/gdb/gdb-gdb.py.in @@ -222,6 +222,17 @@ class StructMainTypePrettyPrinter: return "\n{" + ",\n ".join(fields) + "}" + +class CoreAddrPrettyPrinter: + """Print CORE_ADDR values as hex.""" + + def __init__(self, val): + self._val = val + + def to_string(self): + return hex(int(self._val)) + + def type_lookup_function(val): """A routine that returns the correct pretty printer for VAL if appropriate. Returns None otherwise. @@ -230,6 +241,8 @@ def type_lookup_function(val): return StructTypePrettyPrinter(val) elif val.type.tag == "main_type": return StructMainTypePrettyPrinter(val) + elif val.type.name == 'CORE_ADDR': + return CoreAddrPrettyPrinter(val) return None def register_pretty_printer(objfile): -- 2.7.4