From: Tom de Vries Date: Sat, 25 Apr 2020 15:19:26 +0000 (+0200) Subject: [gdb/testsuite] Add target board debug-types X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d472f0fbaac80ed6363f26c3f417b9eee7d5e7fc;p=binutils-gdb.git [gdb/testsuite] Add target board debug-types This patch adds a target board debug-types that switches on -fdebug-types-section by default. This -fdebug-types-section option is a gcc option that enables the generation of a .debug_types section, which is only effective for DWARF version 4. There are two other boards that enable this: dwarf4-gdb-index and fisson, but while those test some meaningful combination of options, this board is intended to test only -fdebug-types-section. Current results with gcc 7.5.0 are: ... === gdb Summary === # of expected passes 75832 # of unexpected failures 2841 # of expected failures 130 # of known failures 75 # of unresolved testcases 22 # of untested testcases 37 # of unsupported tests 83 ... Related known issues: - PR gcc/90232 - "gcc drops top-level dies with -fdebug-types-section" - PR gdb/25875 - "segv in ada_discrete_type_low_bound" - PR gdb/14148 - "-fdebug-types-section regresses static scope of types" Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2020-04-25 Tom de Vries * boards/debug-types.exp: New file. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 6a5c2f53b0f..366ecc29edc 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2020-04-25 Tom de Vries + + * boards/debug-types.exp: New file. + 2020-04-25 Andrew Burgess * gdb.btrace/multi-inferior.exp: Avoid paths in test names. diff --git a/gdb/testsuite/boards/debug-types.exp b/gdb/testsuite/boards/debug-types.exp new file mode 100644 index 00000000000..346da8a0c38 --- /dev/null +++ b/gdb/testsuite/boards/debug-types.exp @@ -0,0 +1,41 @@ +# Copyright 2020 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 . + +# This file is a dejagnu "board file" and is used to run the testsuite +# with -fdebug-types-section. +# +# Example usage: +# bash$ make check RUNTESTFLAGS='--target_board=debug-types' + +load_board_description "local-board" + +# This is based on baseboards/unix.exp. +# At the moment we only support systems that unix.exp supports. +load_generic_config "unix" +process_multilib_options "" +set found_gcc [find_gcc] +set found_gxx [find_g++] +set found_gnatmake [find_gnatmake] +set found_f90 [find_gfortran] +set found_f77 [find_g77] +set_board_info compiler "$found_gcc" + +# The -fdebug-types-section switch only has an effect with DWARF version 4. +# For now, we don't enforce DWARF-4. This lets test-cases that enforce a +# different version alone. And since DWARF-4 is the default for gcc-4.8 +# - gcc-10 anyway, we don't lose much test coverage that way. +#set_board_info debug_flags "-gdwarf-4 -fdebug-types-section" + +set_board_info debug_flags "-g -fdebug-types-section"