From: Simon Marchi Date: Mon, 7 Apr 2025 17:51:58 +0000 (-0400) Subject: gdb/testsuite: add DWARF 5 + split DWARF + type units board X-Git-Tag: binutils-2_45~941 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=34f5a310b4f59546652947de751329a0ea765101;p=thirdparty%2Fbinutils-gdb.git gdb/testsuite: add DWARF 5 + split DWARF + type units board I'm currently fixing bugs and performance issues when GDB encounters this particular configuration. Since split DWARF + type units makes GDB take some code paths not taken by any other board files, I think it deserves to be its own board file. One particularity is that the produced .dwo files have a .debug_info.dwo section that contains some ype units, in addition to the compile unit. Add that board to make-check-all.sh. Change-Id: I245e6f600055a27e0c31f1a4a9af1f68292fe18c Approved-By: Tom Tromey --- diff --git a/gdb/testsuite/boards/dwarf5-fission-debug-types.exp b/gdb/testsuite/boards/dwarf5-fission-debug-types.exp new file mode 100644 index 00000000000..189a5911d9c --- /dev/null +++ b/gdb/testsuite/boards/dwarf5-fission-debug-types.exp @@ -0,0 +1,33 @@ +# Copyright 2025 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# A board that compiles with DWARF 5, split DWARF (fission) and type units. +# This results in .dwo files containing one compilation unit and (possibly) +# multiple type units each. + +# This is copied from baseboards/unix.exp. +# At the moment this only supports things that unix.exp supports. +load_generic_config "unix" +process_multilib_options "" +set_board_info compiler "[find_gcc]" + +set_board_info debug_flags \ + [join { "-gdwarf-5" \ + "-gsplit-dwarf" \ + "-fdebug-types-section" }] + +# This is needed otherwise dejagnu tries to rsh to host with the board name +# as its hostname. +load_board_description "local-board" diff --git a/gdb/testsuite/make-check-all.sh b/gdb/testsuite/make-check-all.sh index 7f25be9ad08..c2fbadb88df 100755 --- a/gdb/testsuite/make-check-all.sh +++ b/gdb/testsuite/make-check-all.sh @@ -74,6 +74,7 @@ target_boards=( cc-with-gnu-debuglink debug-types dwarf4-gdb-index + dwarf5-fission-debug-types dwarf64 fission fission-dwp