mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-17 16:05:56 +08:00
Use common_val_print_checked in print_variable_and_value
GDB was crashing in "bt full" for a large Ada program. I tracked this down to a combination of bugs. The first bug, fixed here, is that print_variable_and_value calls common_val_print. Normally only the value-printing implementation should call this; from the top level, common_val_print_checked is preferred, because it correctly handles values that are wholly optimized out. I wasn't able to write a test case for this. gdb/ChangeLog 2021-04-15 Tom Tromey <tromey@adacore.com> * printcmd.c (print_variable_and_value): Use common_val_print_checked.
This commit is contained in:
@ -1,3 +1,8 @@
|
||||
2021-04-15 Tom Tromey <tromey@adacore.com>
|
||||
|
||||
* printcmd.c (print_variable_and_value): Use
|
||||
common_val_print_checked.
|
||||
|
||||
2021-04-15 Tom Tromey <tromey@adacore.com>
|
||||
|
||||
* rust-exp.y (rust_parser::convert_ast_to_expression): Update.
|
||||
|
@ -2387,7 +2387,7 @@ print_variable_and_value (const char *name, struct symbol *var,
|
||||
val = read_var_value (var, NULL, frame);
|
||||
get_user_print_options (&opts);
|
||||
opts.deref_ref = 1;
|
||||
common_val_print (val, stream, indent, &opts, current_language);
|
||||
common_val_print_checked (val, stream, indent, &opts, current_language);
|
||||
|
||||
/* common_val_print invalidates FRAME when a pretty printer calls inferior
|
||||
function. */
|
||||
|
Reference in New Issue
Block a user