aboutsummaryrefslogtreecommitdiff
path: root/gdb/valprint.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2012-03-01 18:25:19 +0000
committerTom Tromey <tromey@redhat.com>2012-03-01 18:25:19 +0000
commit132c57b47776e318422661c6f9196dc92d96335a (patch)
tree8987ac9db9409ccd55da3ce9a7aa7c115d9efa37 /gdb/valprint.c
parente41eec6613d4f4410b58159f2b3d23f3414be8d5 (diff)
downloadgdb-132c57b47776e318422661c6f9196dc92d96335a.zip
gdb-132c57b47776e318422661c6f9196dc92d96335a.tar.gz
gdb-132c57b47776e318422661c6f9196dc92d96335a.tar.bz2
* c-valprint.c (print_function_pointer_address): Move...
* valprint.c: ... here. Make non-static. * m2-valprint.c (print_function_pointer_address): Remove. * valprint.h (print_function_pointer_address): Declare.
Diffstat (limited to 'gdb/valprint.c')
-rw-r--r--gdb/valprint.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/gdb/valprint.c b/gdb/valprint.c
index b894be9..a348cf4 100644
--- a/gdb/valprint.c
+++ b/gdb/valprint.c
@@ -1161,6 +1161,31 @@ print_char_chars (struct ui_file *stream, struct type *type,
}
}
+/* Print function pointer with inferior address ADDRESS onto stdio
+ stream STREAM. */
+
+void
+print_function_pointer_address (struct gdbarch *gdbarch,
+ CORE_ADDR address,
+ struct ui_file *stream,
+ int addressprint)
+{
+ CORE_ADDR func_addr
+ = gdbarch_convert_from_func_ptr_addr (gdbarch, address,
+ &current_target);
+
+ /* If the function pointer is represented by a description, print
+ the address of the description. */
+ if (addressprint && func_addr != address)
+ {
+ fputs_filtered ("@", stream);
+ fputs_filtered (paddress (gdbarch, address), stream);
+ fputs_filtered (": ", stream);
+ }
+ print_address_demangle (gdbarch, func_addr, stream, demangle);
+}
+
+
/* Print on STREAM using the given OPTIONS the index for the element
at INDEX of an array whose index type is INDEX_TYPE. */