diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1994-01-27 01:12:06 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1994-01-27 01:12:06 +0000 |
commit | 5e678752031189556550c3faa3e27be9c628659a (patch) | |
tree | 7b5fd0988b1ca68b87ad0802ae46a758f074d861 /gdb/cp-valprint.c | |
parent | 833e0d94ccb34e8ac566a574fd5a75fb967434a5 (diff) | |
download | gdb-5e678752031189556550c3faa3e27be9c628659a.zip gdb-5e678752031189556550c3faa3e27be9c628659a.tar.gz gdb-5e678752031189556550c3faa3e27be9c628659a.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/cp-valprint.c')
-rw-r--r-- | gdb/cp-valprint.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c index 2617d79..07ba9fb 100644 --- a/gdb/cp-valprint.c +++ b/gdb/cp-valprint.c @@ -353,6 +353,8 @@ cplus_print_value (type, valaddr, stream, format, recurse, pretty, dont_print) for (i = 0; i < n_baseclasses; i++) { + /* FIXME-32x64--assumes that a target pointer can fit in a char *. + Fix it by nuking baseclass_addr. */ char *baddr; int err; char *basename; @@ -394,7 +396,7 @@ cplus_print_value (type, valaddr, stream, format, recurse, pretty, dont_print) if (err != 0) { fprintf_filtered (stream, "<invalid address "); - print_address_numeric (baddr, stream); + print_address_numeric ((CORE_ADDR) baddr, stream); fprintf_filtered (stream, ">"); } else |