[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  <tdevries@suse.de>

	* boards/debug-types.exp: New file.
This commit is contained in:
Tom de Vries 2020-04-25 17:19:26 +02:00
parent 8d840e05dc
commit d472f0fbaa
2 changed files with 45 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2020-04-25 Tom de Vries <tdevries@suse.de>
* boards/debug-types.exp: New file.
2020-04-25 Andrew Burgess <andrew.burgess@embecosm.com>
* gdb.btrace/multi-inferior.exp: Avoid paths in test names.

View File

@ -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 <http://www.gnu.org/licenses/>.
# 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"