Say we patch the fission board like so: ... diff --git a/gdb/testsuite/boards/fission.exp b/gdb/testsuite/boards/fission.exp index 496fece7991..1001900bfb7 100644 --- a/gdb/testsuite/boards/fission.exp +++ b/gdb/testsuite/boards/fission.exp @@ -30,12 +30,8 @@ set_board_info compiler "[find_gcc]" # Note: -ggnu-pubnames is required for Gold to build .gdb_index, and while # -gsplit-dwarf implies -ggnu-pubnames for gcc, it doesn't for clang. set_board_info debug_flags \ - [join { "-gdwarf-4" \ - "-gsplit-dwarf" \ - "-ggnu-pubnames" \ - "-fdebug-types-section" \ - "-Wl,--gdb-index" \ - "-fuse-ld=gold" }] + [join { "-gdwarf-5" \ + "-gsplit-dwarf" }] # This is needed otherwise dejagnu tries to rsh to host "fission". load_board_description "local-board" ... When running test-case gdb.ada/finish-var-size.exp with gcc-13 we run into: ... (gdb) finish^M Run till exit from #0 pck.get (value=true) at /data/vries/gdb/binutils-gdb.git/gdb/testsuite/gdb.ada/finish-var-size/pck.adb:19^M /data/vries/gdb/src/gdb/dwarf2/read.c:5339: internal-error: queue_comp_unit: Assertion `per_objfile->queue.has_value ()' failed.^M A problem internal to GDB has been detected,^M further debugging may prove unreliable.^M ----- Backtrace -----^M FAIL: gdb.ada/finish-var-size.exp: finish (GDB internal error) ... Likewise in test-case gdb.ada/rec_ptype.exp.
Detailed backtrace: ... (gdb) bt #0 0x00007ffff7107d2b in raise () from /lib64/libc.so.6 #1 0x00007ffff71093e5 in abort () from /lib64/libc.so.6 #2 0x0000000000d02286 in dump_core () at /data/vries/gdb/src/gdb/utils.c:222 #3 0x0000000000d028c1 in internal_vproblem(internal_problem *, const char *, int, const char *, typedef __va_list_tag __va_list_tag *) (problem=0x2735640 <internal_error_problem>, file=0x15b7db0 "/data/vries/gdb/src/gdb/dwarf2/read.c", line=5339, fmt=0x15b70b0 "%s: Assertion `%s' failed.", ap=0x7fffffffbe38) at /data/vries/gdb/src/gdb/utils.c:474 #4 0x0000000000d02997 in internal_verror (file=0x15b7db0 "/data/vries/gdb/src/gdb/dwarf2/read.c", line=5339, fmt=0x15b70b0 "%s: Assertion `%s' failed.", ap=0x7fffffffbe38) at /data/vries/gdb/src/gdb/utils.c:500 #5 0x00000000014da579 in internal_error_loc (file=0x15b7db0 "/data/vries/gdb/src/gdb/dwarf2/read.c", line=5339, fmt=0x15b70b0 "%s: Assertion `%s' failed.") at /data/vries/gdb/src/gdbsupport/errors.cc:57 #6 0x0000000000731244 in queue_comp_unit (per_cu=0x7fffbc002ff0, per_objfile=0x2de3b50, pretend_language=language_ada) at /data/vries/gdb/src/gdb/dwarf2/read.c:5339 #7 0x000000000073137f in maybe_queue_comp_unit (dependent_cu=0x2dea640, per_cu=0x7fffbc002ff0, per_objfile=0x2de3b50, pretend_language=language_ada) at /data/vries/gdb/src/gdb/dwarf2/read.c:5398 #8 0x000000000075682d in follow_die_offset (sect_off=(unknown: 0x186), offset_in_dwz=0, ref_cu=0x7fffffffc0d0) at /data/vries/gdb/src/gdb/dwarf2/read.c:20347 #9 0x0000000000756b7d in dwarf2_fetch_die_loc_sect_off(sect_offset, dwarf2_per_cu_data*, dwarf2_per_objfile*, gdb::function_view<unsigned long ()>, bool) (sect_off=(unknown: 0x186), per_cu=0x7fffbc002e60, per_objfile=0x2de3b50, get_frame_pc=..., resolve_abstract_p=false) at /data/vries/gdb/src/gdb/dwarf2/read.c:20427 #10 0x0000000000757000 in dwarf2_fetch_die_loc_cu_off(cu_offset, dwarf2_per_cu_data*, dwarf2_per_objfile*, gdb::function_view<unsigned long ()>) (offset_in_cu=(unknown: 0xab), per_cu=0x7fffbc002e60, per_objfile=0x2de3b50, get_frame_pc=...) at /data/vries/gdb/src/gdb/dwarf2/read.c:20515 #11 0x00000000006d37dc in dwarf_expr_context::dwarf_call (this=0x7fffffffc600, die_cu_off=(unknown: 0xab)) at /data/vries/gdb/src/gdb/dwarf2/expr.c:830 #12 0x00000000006d6c06 in dwarf_expr_context::execute_stack_op (this=0x7fffffffc600, op_ptr=0x7fffd401a682 "#\a\t\374\032\002\031\b\253", op_end=0x7fffd401a687 "\002\031\b\253") at /data/vries/gdb/src/gdb/dwarf2/expr.c:2220 #13 0x00000000006d49a2 in dwarf_expr_context::eval (this=0x7fffffffc600, addr=0x7fffd401a67a "\227\224\001\231\253", len=13) at /data/vries/gdb/src/gdb/dwarf2/expr.c:1248 #14 0x00000000006d440f in dwarf_expr_context::evaluate (this=0x7fffffffc600, addr=0x7fffd401a67a "\227\224\001\231\253", len=13, as_lval=true, per_cu=0x7fffbc002e60, frame=..., addr_info=0x7fffffffc9f0, type=0x0, subobj_type=0x0, subobj_offset=0) at /data/vries/gdb/src/gdb/dwarf2/expr.c:1088 #15 0x000000000070714b in dwarf2_locexpr_baton_eval (dlbaton=0x2e0e4e8, frame=..., addr_stack=0x7fffffffc9f0, valp=0x7fffffffc900, push_values=..., is_reference=0x7fffffffc77f) at /data/vries/gdb/src/gdb/dwarf2/loc.c:1609 #16 0x000000000070745d in dwarf2_evaluate_property (prop=0x2e0e528, initial_frame=..., addr_stack=0x7fffffffc9f0, value=0x7fffffffc900, push_values=...) at /data/vries/gdb/src/gdb/dwarf2/loc.c:1673 #17 0x00000000007f233d in resolve_dynamic_type_internal (type=0x2e0e460, addr_stack=0x7fffffffc9f0, frame=..., top_level=true) at /data/vries/gdb/src/gdb/gdbtypes.c:2779 #18 0x00000000007f27f2 in resolve_dynamic_type (type=0x2e0e460, valaddr=..., addr=140737488345440, in_frame=0x7fffffffcb00) at /data/vries/gdb/src/gdb/gdbtypes.c:2892 #19 0x0000000000d3a53e in value_from_contents_and_address (type=0x2e0e460, valaddr=0x0, address=140737488345440, frame=...) at /data/vries/gdb/src/gdb/value.c:3608 #20 0x0000000000d1d8dc in get_value_at (type=0x2e0e460, addr=140737488345440, frame=..., lazy=0) at /data/vries/gdb/src/gdb/valops.c:996 #21 0x0000000000d1d933 in value_at (type=0x2e0e460, addr=140737488345440) at /data/vries/gdb/src/gdb/valops.c:1022 #22 0x0000000000d1d98b in value_at_non_lval (type=0x2e0e460, addr=140737488345440) at /data/vries/gdb/src/gdb/valops.c:1030 #23 0x00000000004c08ff in amd64_return_value (gdbarch=0x37d0d80, function=0x3842340, type=0x2e0e460, regcache=0x37d29f0, read_value=0x7fffffffcc90, writebuf=0x0) at /data/vries/gdb/src/gdb/amd64-tdep.c:792 #24 0x00000000004e2b9f in gdbarch_return_value_as_value (gdbarch=0x37d0d80, function=0x3842340, valtype=0x2e0e460, regcache=0x37d29f0, read_value=0x7fffffffcc90, writebuf=0x0) at /data/vries/gdb/src/gdb/gdbarch.c:2648 #25 0x0000000000871280 in get_return_value (func_symbol=0x2e0e800, function=0x3842340) at /data/vries/gdb/src/gdb/infcmd.c:1472 #26 0x0000000000871755 in finish_command_fsm::should_stop (this=0x3855180, tp=0x2dd0a90) at /data/vries/gdb/src/gdb/infcmd.c:1609 #27 0x0000000000888b31 in fetch_inferior_event () at /data/vries/gdb/src/gdb/infrun.c:4708 #28 0x00000000008655bc in inferior_event_handler (event_type=INF_REG_EVENT) at /data/vries/gdb/src/gdb/inf-loop.c:41 #29 0x00000000008d8170 in handle_target_event (error=0, client_data=0x0) at /data/vries/gdb/src/gdb/linux-nat.c:4434 #30 0x00000000014db462 in handle_file_event (file_ptr=0x2dabc10, ready_mask=1) at /data/vries/gdb/src/gdbsupport/event-loop.cc:551 #31 0x00000000014dba05 in gdb_wait_for_event (block=0) at /data/vries/gdb/src/gdbsupport/event-loop.cc:672 #32 0x00000000014da8da in gdb_do_one_event (mstimeout=-1) at /data/vries/gdb/src/gdbsupport/event-loop.cc:216 #33 0x0000000000c70427 in wait_sync_command_done () at /data/vries/gdb/src/gdb/top.c:421 #34 0x0000000000c704c2 in maybe_wait_sync_command_done (was_sync=0) at /data/vries/gdb/src/gdb/top.c:438 #35 0x0000000000c70af3 in execute_command (p=0x7fffffffd496 "", from_tty=0) at /data/vries/gdb/src/gdb/top.c:571 #36 0x000000000079c491 in command_handler (command=0x7fffffffd490 "finish") at /data/vries/gdb/src/gdb/event-top.c:579 #37 0x0000000000c701da in read_command_file (stream=0x2ddfbb0) at /data/vries/gdb/src/gdb/top.c:336 #38 0x0000000000613f8f in script_from_file (stream=0x2ddfbb0, file=0x7fffffffe187 "outputs/gdb.ada/finish-var-size/gdb.in.1") at /data/vries/gdb/src/gdb/cli/cli-script.c:1643 #39 0x00000000005f79d3 in source_script_from_stream (stream=0x2ddfbb0, file=0x7fffffffe187 "outputs/gdb.ada/finish-var-size/gdb.in.1", file_to_open=0x2a907f0 "outputs/gdb.ada/finish-var-size/gdb.in.1") at /data/vries/gdb/src/gdb/cli/cli-cmds.c:728 #40 0x00000000005f7b2d in source_script_with_search (file=0x7fffffffe187 "outputs/gdb.ada/finish-var-size/gdb.in.1", from_tty=0, search_path=0) at /data/vries/gdb/src/gdb/cli/cli-cmds.c:773 #41 0x00000000005f7ba9 in source_script (file=0x7fffffffe187 "outputs/gdb.ada/finish-var-size/gdb.in.1", from_tty=0) at /data/vries/gdb/src/gdb/cli/cli-cmds.c:782 #42 0x00000000009224e8 in catch_command_errors (command=0x5f7b84 <source_script(char const*, int)>, arg=0x7fffffffe187 "outputs/gdb.ada/finish-var-size/gdb.in.1", from_tty=0, do_bp_actions=false) at /data/vries/gdb/src/gdb/main.c:506 #43 0x00000000009226b7 in execute_cmdargs (cmdarg_vec=0x7fffffffd8d0, file_type=CMDARG_FILE, cmd_type=CMDARG_COMMAND, ret=0x7fffffffd8ac) at /data/vries/gdb/src/gdb/main.c:602 #44 0x0000000000923ab6 in captured_main_1 (context=0x7fffffffdb30) at /data/vries/gdb/src/gdb/main.c:1302 #45 0x0000000000923cdc in captured_main (data=0x7fffffffdb30) at /data/vries/gdb/src/gdb/main.c:1327 #46 0x0000000000923d7b in gdb_main (args=0x7fffffffdb30) at /data/vries/gdb/src/gdb/main.c:1356 #47 0x000000000041a363 in main (argc=7, argv=0x7fffffffdc48) at /data/vries/gdb/src/gdb/gdb.c:38 (gdb) ...