aboutsummaryrefslogtreecommitdiff
path: root/gdb/ch-valprint.c
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1994-01-27 00:36:05 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1994-01-27 00:36:05 +0000
commit833e0d94ccb34e8ac566a574fd5a75fb967434a5 (patch)
tree52a27d6ecae0b66b7f3125460fd8d57ae689ac85 /gdb/ch-valprint.c
parent9a27b06e9823be3f762f9b87bd936e5e22359e9b (diff)
downloadgdb-833e0d94ccb34e8ac566a574fd5a75fb967434a5.zip
gdb-833e0d94ccb34e8ac566a574fd5a75fb967434a5.tar.gz
gdb-833e0d94ccb34e8ac566a574fd5a75fb967434a5.tar.bz2
Fix many sins which will come up in 32 bit x 64 bit GDB, and
various miscellaneous things discovered in the process: * printcmd.c, defs.h (print_address_numeric): New function. * c-valprint.c (c_val_print), ch-valprint.c (chill_val_print) breakpoint.c (describe_other_breakpoints, breakpoint_1, mention), cp-valprint.c (cplus_print_value), infcmd.c (jump_command), printcmd.c, stack.c, symfile.c, symmisc.c, valprint.c: Use it. * utils.c, defs.h (gdb_print_address): New function. * expprint (dump_expression), gdbtypes.h: Use it. * breakpoint.c (describe_other_breakpoints), symmisc.c (dump_symtab, print_symbol): Use filtered not unfiltered I/O. (remove_breakpoints): Remove BREAKPOINT_DEBUG code. Might as well just run gdb under a debugger for this (and it had problems with printing addresses, how to print b->shadow, etc.). * buildsym.c (make_blockvector), core.c (memory_error), exec.c (print_section_info), maint.c (print_section_table), mdebugread.c (parse_procedure), solib.c, source.c, symfile.c, symmisc.c, symtab.c, valops.c, valprint.c, xcoffexec.c: Add comments saying code is broken. Marked with "FIXME-32x64". * dbxread.c (process_one_symbol), partial-stab.h (default), remote-vx.c (vx_run_files_info): Don't cast int being passed to local_hex_string. * symmisc.c (print_symbol): Don't cast long being passed to %lx. * symtab.h (general_symbol_info): Add comment about SYMBOL_VALUE only being a long. * symmisc.c (print_symbol): Print "offset" in message for LOC_ARG and LOC_LOCAL. * printcmd.c (print_address): Remove #if 0 code with ADDR_BITS_REMOVE. * source.c: Include <sys/types.h> regardless of USG.
Diffstat (limited to 'gdb/ch-valprint.c')
-rw-r--r--gdb/ch-valprint.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gdb/ch-valprint.c b/gdb/ch-valprint.c
index 5cb21d3..37ca0f4 100644
--- a/gdb/ch-valprint.c
+++ b/gdb/ch-valprint.c
@@ -158,7 +158,7 @@ chill_val_print (type, valaddr, address, stream, format, deref_ref, recurse,
}
if (addressprint && format != 's')
{
- fprintf_filtered (stream, "H'%lx", (unsigned long) addr);
+ print_address_numeric (addr, stream);
}
/* For a pointer to char or unsigned char, also print the string
@@ -265,9 +265,11 @@ chill_val_print (type, valaddr, address, stream, format, deref_ref, recurse,
case TYPE_CODE_REF:
if (addressprint)
{
- fprintf_filtered (stream, "LOC(H'%lx)",
- extract_unsigned_integer (valaddr,
- TARGET_PTR_BIT / HOST_CHAR_BIT));
+ fprintf_filtered (stream, "LOC(");
+ print_address_numeric
+ (extract_address (valaddr, TARGET_PTR_BIT / HOST_CHAR_BIT),
+ stream);
+ fprintf_filtered (stream, ")");
if (deref_ref)
fputs_filtered (": ", stream);
}