aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2025-08-14 18:43:22 +0200
committerTom de Vries <tdevries@suse.de>2025-08-14 18:43:22 +0200
commit903ea49d4780084fe8e6aac38e326cf29281eb08 (patch)
tree180c7086ef0f9151d05c5365747aafb2424726b8
parenta1be365e22fd18c0bf3e063fc6e5a66db35cce34 (diff)
downloadbinutils-903ea49d4780084fe8e6aac38e326cf29281eb08.zip
binutils-903ea49d4780084fe8e6aac38e326cf29281eb08.tar.gz
binutils-903ea49d4780084fe8e6aac38e326cf29281eb08.tar.bz2
[gdb/testsuite] Fix gdb.base/condbreak-multi-context.exp on native-gdbserver
With test-case gdb.base/condbreak-multi-context.exp on target board native-gdbserver, I run into: ... (gdb) continue Continuing. gdb/ax-gdb.c:542: internal-error: gen_var_ref: \ LOC_CONST_BYTES symbols are not supported A problem internal to GDB has been detected, further debugging may prove unreliable. ----- Backtrace ----- FAIL: $exp: start_before=true: scenario_1: run until A::func (GDB internal error) Resyncing due to internal error. 0x64cfa9 gdb_internal_backtrace_1 gdb/bt-utils.c:122 0x64d047 _Z22gdb_internal_backtracev gdb/bt-utils.c:175 0x10cfdf1 internal_vproblem gdb/utils.c:423 0x10d020b _Z15internal_verrorPKciS0_P13__va_list_tag gdb/utils.c:503 0x19a6b4e _Z18internal_error_locPKciS0_z gdbsupport/errors.cc:57 0x5b76f9 gen_var_ref gdb/ax-gdb.c:541 0x5b9565 gen_static_field gdb/ax-gdb.c:1460 0x5b91c9 gen_struct_ref_recursive gdb/ax-gdb.c:1357 0x5b93f8 gen_struct_ref gdb/ax-gdb.c:1427 0x5bba0d _Z17gen_expr_structopP10expression10exp_opcodePN4expr9operationEPKcP10agent_exprP9axs_value gdb/ax-gdb.c:2253 0x678d94 _ZN4expr22structop_ptr_operation14do_generate_axEP10expressionP10agent_exprP9axs_valueP4type gdb/expop.h:1089 0x5b9ab6 _ZN4expr9operation11generate_axEP10expressionP10agent_exprP9axs_valueP4type gdb/ax-gdb.c:1602 0x5bb905 _Z14gen_expr_binopP10expression10exp_opcodePN4expr9operationES4_P10agent_exprP9axs_value gdb/ax-gdb.c:2233 0x69815c _ZN4expr24usual_ax_binop_operationIL10exp_opcode14EXadL_Z13eval_op_equalP4typeP10expression6nosideS1_P5valueS8_EEE14do_generate_axES5_P10agent_exprP9axs_valueS3_ gdb/expop.h:1291 0x5b9ab6 _ZN4expr9operation11generate_axEP10expressionP10agent_exprP9axs_valueP4type gdb/ax-gdb.c:1602 0x5bc034 _Z17gen_eval_for_exprmP10expression gdb/ax-gdb.c:2396 0x5f16b6 parse_cond_to_aexpr gdb/breakpoint.c:2582 0x5f18a5 build_target_condition_list gdb/breakpoint.c:2640 0x5f2698 insert_bp_location gdb/breakpoint.c:2970 0x5f3916 insert_breakpoint_locations gdb/breakpoint.c:3400 0x60c1dd update_global_location_list gdb/breakpoint.c:11771 0x5f3421 _Z18insert_breakpointsv gdb/breakpoint.c:3293 0xaa0972 keep_going_pass_signal gdb/infrun.c:9131 0xa91b23 proceed_resume_thread_checked gdb/infrun.c:3579 0xa92490 _Z7proceedm10gdb_signal gdb/infrun.c:3780 0xa72b9b _Z10continue_1i gdb/infcmd.c:639 0xa72e4b continue_command gdb/infcmd.c:730 0x6c01d1 do_simple_func gdb/cli/cli-decode.c:95 0x6c683a _Z8cmd_funcP16cmd_list_elementPKci gdb/cli/cli-decode.c:2827 0xff11a9 _Z15execute_commandPKci gdb/top.c:565 0x959e0a _Z15command_handlerPKc gdb/event-top.c:613 0x95a3e7 _Z20command_line_handlerOSt10unique_ptrIcN3gdb13xfree_deleterIcEEE gdb/event-top.c:849 0x102b645 tui_command_line_handler gdb/tui/tui-interp.c:101 0x959548 gdb_rl_callback_handler gdb/event-top.c:288 0x1186dfd rl_callback_read_char readline/readline/callback.c:302 0x95925a gdb_rl_callback_read_char_wrapper_sjlj gdb/event-top.c:197 0x95934a gdb_rl_callback_read_char_wrapper_noexcept gdb/event-top.c:240 0x9593c9 gdb_rl_callback_read_char_wrapper gdb/event-top.c:252 0x1071253 stdin_event_handler gdb/ui.c:154 0x19a7c80 handle_file_event gdbsupport/event-loop.cc:551 0x19a825b gdb_wait_for_event gdbsupport/event-loop.cc:672 0x19a711c _Z16gdb_do_one_eventi gdbsupport/event-loop.cc:263 0x6ce4e3 _ZN6interp12do_one_eventEi gdb/interps.h:87 0xb74717 start_event_loop gdb/main.c:402 0xb748b6 captured_command_loop gdb/main.c:467 0xb7638f captured_main gdb/main.c:1345 0xb76438 _Z8gdb_mainP18captured_main_args gdb/main.c:1364 0x41a411 main gdb/gdb.c:38 ... This reproduces with gcc 7, not with gcc 8 or later. Fix this by throwing an error instead of asserting, getting us instead: ... (gdb) continue^M Continuing.^M ^M Breakpoint 2.2, A::func (this=$hex) at condbreak-multi-context.cc:31^M 31 void func () {}^M (gdb) PASS: $exp: start_before=true: scenario_1: run until A::func ... Tested on x86_64-linux. Approved-By: Simon Marchi <simon.marchi@efficios.com> PR gdb/32012 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32012
-rw-r--r--gdb/ax-gdb.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c
index 08f542c..57626ab 100644
--- a/gdb/ax-gdb.c
+++ b/gdb/ax-gdb.c
@@ -538,8 +538,7 @@ gen_var_ref (struct agent_expr *ax, struct axs_value *value, struct symbol *var)
break;
case LOC_CONST_BYTES:
- internal_error (_("gen_var_ref: LOC_CONST_BYTES "
- "symbols are not supported"));
+ error (_("gen_var_ref: LOC_CONST_BYTES symbols are not supported"));
/* Variable at a fixed location in memory. Easy. */
case LOC_STATIC: