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.
This commit is contained in:
Simon Marchi 2018-06-27 15:21:47 -04:00
parent 189366cd86
commit 9a14af7b1a
2 changed files with 18 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2018-06-27 Simon Marchi <simon.marchi@ericsson.com>
* gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
(type_lookup_function): Recognize CORE_ADDR values.
2018-06-27 Simon Marchi <simon.marchi@ericsson.com>
* gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't

View File

@ -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):