Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Luis <luis.machado.foss@gmail.com>
To: Pedro Alves <pedro@palves.net>, gdb-patches@sourceware.org
Subject: Re: [PATCH 6/7] gdb/testsuite: Pass "symtab" to testcases that rely on minsyms
Date: Wed, 12 Aug 2026 22:41:59 +0100	[thread overview]
Message-ID: <d403c071-7ab5-4874-8790-a2a0eaf9288f@gmail.com> (raw)
In-Reply-To: <20260811014558.3606251-7-pedro@palves.net>

Hi,

Since so many of these require a symtab option, I wonder if it would be 
easier/cleaner to assume that option is passed by default and instead 
make the tests drop that option is not required.

But I'm not sure what is split between symtab/no symtab here.

On 11/08/2026 02:45, Pedro Alves wrote:
> Most tests that build a program with no debug information still need
> minimal symbols, to be able to set breakpoints, run to main, or
> resolve functions by name, etc.
> 
> On most targets the compiler and linker emit a (COFF/ELF/etc.) symbol
> table by default.  On windows-msvc, though, lld-link does not emit a
> COFF symbol table by default (nor when emitting PDB/CodeView debug
> info).
> 
> This commit tweaks testcases to pass the new "symtab" option to
> explicitly ask for a symbol table.
> 
> gdb.base/nodebug.exp was the one that made me start looking at this.
> The rest I discovered by hacking gdb_compile to pass "-s" (strip
> symtab) to GCC if no symtab or debug option was requested, and run the
> testsuite with that on GNU/Linux.
> 
> Change-Id: Ia5b801186b81ef603f36dea097ad3c489db47768
> ---
>   gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp        | 1 +
>   gdb/testsuite/gdb.arch/amd64-entry-value-param-dwarf5.exp  | 1 +
>   gdb/testsuite/gdb.arch/amd64-entry-value-param.exp         | 1 +
>   gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp      | 2 +-
>   gdb/testsuite/gdb.arch/amd64-entry-value.exp               | 1 +
>   gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp      | 2 +-
>   gdb/testsuite/gdb.arch/amd64-invalid-stack-top.exp         | 2 +-
>   gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp           | 1 +
>   gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp              | 1 +
>   gdb/testsuite/gdb.arch/amd64-shadow-stack-disp-step.exp    | 2 +-
>   gdb/testsuite/gdb.arch/amd64-shadow-stack.exp              | 2 +-
>   gdb/testsuite/gdb.arch/amd64-tailcall-cxx.exp              | 1 +
>   gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp            | 1 +
>   gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp              | 1 +
>   gdb/testsuite/gdb.arch/amd64-tailcall-self.exp             | 2 +-
>   gdb/testsuite/gdb.arch/i386-bp_permanent.exp               | 6 ++++--
>   .../gdb.arch/i386-prologue-skip-cf-protection.exp          | 2 +-
>   gdb/testsuite/gdb.base/break-entry.exp                     | 2 +-
>   gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp    | 2 +-
>   gdb/testsuite/gdb.base/ctf-constvars.exp                   | 1 +
>   gdb/testsuite/gdb.base/ctf-ptype.exp                       | 1 +
>   gdb/testsuite/gdb.base/cvexpr.exp                          | 1 +
>   gdb/testsuite/gdb.base/dup-sect.exp                        | 2 +-
>   gdb/testsuite/gdb.base/infcall-nested-structs.exp.tcl      | 1 +
>   gdb/testsuite/gdb.base/info-shared.exp                     | 2 +-
>   gdb/testsuite/gdb.base/info_minsym.exp                     | 4 ++--
>   gdb/testsuite/gdb.base/jit-elf-fork.exp                    | 2 +-
>   gdb/testsuite/gdb.base/jit-elf-so.exp                      | 2 +-
>   gdb/testsuite/gdb.base/jit-elf.exp                         | 2 +-
>   gdb/testsuite/gdb.base/list-nodebug.exp                    | 2 +-
>   gdb/testsuite/gdb.base/morestack.exp                       | 4 ++--
>   gdb/testsuite/gdb.base/msym-bp-shl.exp                     | 2 +-
>   gdb/testsuite/gdb.base/msym-bp.exp                         | 2 +-
>   gdb/testsuite/gdb.base/msym-lang.exp                       | 2 +-
>   gdb/testsuite/gdb.base/nodebug.exp                         | 5 ++++-
>   gdb/testsuite/gdb.base/psym-external-decl.exp              | 2 +-
>   gdb/testsuite/gdb.base/solib-nodir.exp                     | 2 +-
>   gdb/testsuite/gdb.base/whatis.exp                          | 1 +
>   gdb/testsuite/gdb.compile/compile-cplus-print.exp          | 2 +-
>   gdb/testsuite/gdb.compile/compile-cplus.exp                | 2 +-
>   gdb/testsuite/gdb.compile/compile-ifunc.exp                | 2 +-
>   gdb/testsuite/gdb.compile/compile.exp                      | 2 +-
>   gdb/testsuite/gdb.cp/cmpd-minsyms.exp                      | 2 +-
>   gdb/testsuite/gdb.cp/infcall-nodebug.exp.tcl               | 4 ++--
>   gdb/testsuite/gdb.cp/nsalias.exp                           | 4 ++--
>   gdb/testsuite/gdb.ctf/dwarf2-and-ctf.exp                   | 2 +-
>   gdb/testsuite/gdb.dwarf2/bitfield-parent-optimized-out.exp | 2 +-
>   gdb/testsuite/gdb.dwarf2/debug-names-bad-cu-index.exp      | 2 +-
>   gdb/testsuite/gdb.dwarf2/debug-names-duplicate-cu.exp      | 2 +-
>   gdb/testsuite/gdb.dwarf2/debug-names-missing-cu.exp        | 2 +-
>   gdb/testsuite/gdb.dwarf2/debug-names-tu.exp.tcl            | 2 +-
>   gdb/testsuite/gdb.dwarf2/debug-names.exp                   | 2 +-
>   gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.exp            | 7 ++++---
>   gdb/testsuite/gdb.dwarf2/dw2-complex-parts.exp             | 2 +-
>   gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.exp     | 2 +-
>   gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp             | 3 ++-
>   gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.exp        | 2 +-
>   gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.exp         | 2 +-
>   gdb/testsuite/gdb.dwarf2/dw2-restore.exp                   | 2 +-
>   gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp             | 3 ++-
>   gdb/testsuite/gdb.dwarf2/dw2-symtab-includes-lookup.exp    | 2 +-
>   gdb/testsuite/gdb.dwarf2/dw2-symtab-includes.exp           | 2 +-
>   gdb/testsuite/gdb.dwarf2/dw2-unspecified-type.exp          | 2 +-
>   gdb/testsuite/gdb.dwarf2/dwz.exp                           | 2 +-
>   gdb/testsuite/gdb.dwarf2/dwzbuildid.tcl                    | 2 +-
>   gdb/testsuite/gdb.dwarf2/entry-value-typedef.exp           | 2 +-
>   gdb/testsuite/gdb.dwarf2/fission-call.exp                  | 2 +-
>   gdb/testsuite/gdb.dwarf2/fission-reread.exp                | 2 +-
>   gdb/testsuite/gdb.dwarf2/fission-with-type-unit.exp        | 2 +-
>   gdb/testsuite/gdb.dwarf2/frame-inlined-in-outer-frame.exp  | 2 +-
>   gdb/testsuite/gdb.dwarf2/gdb-index-skeletonless-tu.exp     | 2 +-
>   gdb/testsuite/gdb.dwarf2/implptr-64bit.exp                 | 2 +-
>   gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp         | 2 +-
>   gdb/testsuite/gdb.dwarf2/implref-array.exp                 | 2 +-
>   gdb/testsuite/gdb.dwarf2/implref-const.exp                 | 2 +-
>   gdb/testsuite/gdb.dwarf2/implref-global.exp                | 2 +-
>   gdb/testsuite/gdb.dwarf2/implref-struct.exp                | 2 +-
>   .../gdb.dwarf2/inlined_subroutine-inheritance.exp          | 2 +-
>   gdb/testsuite/gdb.dwarf2/intbits.exp                       | 2 +-
>   .../gdb.dwarf2/multi-piece-inherited-bitfield.exp          | 2 +-
>   gdb/testsuite/gdb.dwarf2/multi-piece-primitive-field.exp   | 2 +-
>   gdb/testsuite/gdb.dwarf2/pr13961.exp                       | 6 ++++--
>   gdb/testsuite/gdb.dwarf2/self-spec.exp                     | 2 +-
>   gdb/testsuite/gdb.dwarf2/varval.exp                        | 2 +-
>   gdb/testsuite/gdb.guile/scm-breakpoint.exp                 | 2 +-
>   gdb/testsuite/gdb.linespec/break-asm-file.exp              | 2 +-
>   gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp             | 2 +-
>   gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp             | 1 +
>   gdb/testsuite/gdb.python/py-frame.exp                      | 2 +-
>   gdb/testsuite/gdb.python/py-framefilter-invalidarg.exp     | 2 +-
>   gdb/testsuite/gdb.python/py-linetable.exp                  | 1 +
>   gdb/testsuite/gdb.python/py-prettyprint-stub.exp           | 2 +-
>   gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.exp       | 1 +
>   gdb/testsuite/gdb.reverse/singlejmp-reverse.exp            | 4 ++--
>   gdb/testsuite/gdb.rocm/addr-bp-gpu-no-deb-info.exp         | 2 +-
>   gdb/testsuite/gdb.rocm/displaced-stepping.exp              | 2 +-
>   gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu.exp        | 1 +
>   gdb/testsuite/gdb.server/sysroot.exp                       | 4 +++-
>   gdb/testsuite/gdb.threads/tls-nodebug-pie.exp              | 2 +-
>   gdb/testsuite/gdb.threads/tls-nodebug.exp                  | 2 +-
>   gdb/testsuite/gdb.threads/tls-var.exp                      | 2 +-
>   gdb/testsuite/gdb.trace/entry-values.exp                   | 4 ++--
>   gdb/testsuite/gdb.trace/tspeed.exp                         | 2 +-
>   gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp        | 2 +-
>   104 files changed, 126 insertions(+), 96 deletions(-)
> 
> diff --git a/gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp b/gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp
> index b67f676b716..47e6ea9c761 100644
> --- a/gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp
> @@ -22,6 +22,7 @@ if {[info exists COMPILE]} {
>       lappend opts debug optimize=-O2
>   } else {
>       require is_x86_64_m64_target
> +    lappend opts symtab
>   }
>   
>   # Make .c available on the host.
> diff --git a/gdb/testsuite/gdb.arch/amd64-entry-value-param-dwarf5.exp b/gdb/testsuite/gdb.arch/amd64-entry-value-param-dwarf5.exp
> index 8043235eec8..4fa4b7580a9 100644
> --- a/gdb/testsuite/gdb.arch/amd64-entry-value-param-dwarf5.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-entry-value-param-dwarf5.exp
> @@ -22,6 +22,7 @@ if {[info exists COMPILE]} {
>       lappend opts optimize=-O2 dwarf5
>   } else {
>       require is_x86_64_m64_target
> +    lappend opts symtab
>   }
>   
>   # Make .c available on the host.
> diff --git a/gdb/testsuite/gdb.arch/amd64-entry-value-param.exp b/gdb/testsuite/gdb.arch/amd64-entry-value-param.exp
> index 4c1d63ab5a3..49db4f0adf2 100644
> --- a/gdb/testsuite/gdb.arch/amd64-entry-value-param.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-entry-value-param.exp
> @@ -22,6 +22,7 @@ if {[info exists COMPILE]} {
>       lappend opts debug optimize=-O2
>   } else {
>       require is_x86_64_m64_target
> +    lappend opts symtab
>   }
>   
>   # Make .c available on the host.
> diff --git a/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp b/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp
> index cb789b541bc..ab6cc37d0cc 100644
> --- a/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp
> @@ -23,7 +23,7 @@ if {[is_remote host]} {
>   }
>   
>   if { [prepare_for_testing_full "failed to prepare" \
> -	  [list $testfile "c++" $srcfile {}]] } {
> +	  [list $testfile {symtab c++} $srcfile {}]] } {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.arch/amd64-entry-value.exp b/gdb/testsuite/gdb.arch/amd64-entry-value.exp
> index 997312ee437..0673bed9c81 100644
> --- a/gdb/testsuite/gdb.arch/amd64-entry-value.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-entry-value.exp
> @@ -24,6 +24,7 @@ if {[info exists COMPILE]} {
>       lappend opts c++
>   } else {
>       require is_x86_64_m64_target
> +    lappend opts symtab
>   }
>   
>   if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $opts] } {
> diff --git a/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp b/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp
> index a48896d60a6..74e002e132b 100644
> --- a/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-invalid-stack-middle.exp
> @@ -31,7 +31,7 @@ standard_testfile .S
>   
>   require is_x86_64_m64_target
>   
> -if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {nopie}] } {
> +if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {nopie symtab}] } {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.arch/amd64-invalid-stack-top.exp b/gdb/testsuite/gdb.arch/amd64-invalid-stack-top.exp
> index d3ad91ed64f..4c29ad7376e 100644
> --- a/gdb/testsuite/gdb.arch/amd64-invalid-stack-top.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-invalid-stack-top.exp
> @@ -27,7 +27,7 @@
>   # run twice, and we restart gdb before testing each different command to
>   # ensure that nothing is being cached.
>   
> -set opts {}
> +set opts {symtab}
>   standard_testfile .c
>   
>   require is_x86_64_m64_target
> diff --git a/gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp b/gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp
> index a2651898b0c..d47421c096e 100644
> --- a/gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp
> @@ -22,6 +22,7 @@ if {[info exists COMPILE]} {
>       lappend opts debug optimize=-O2
>   } else {
>       require is_x86_64_m64_target
> +    lappend opts symtab
>   }
>   
>   if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $opts] } {
> diff --git a/gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp b/gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp
> index f402350acde..739b3050d08 100644
> --- a/gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp
> @@ -26,6 +26,7 @@ if {[info exists COMPILE]} {
>       lappend opts debug optimize=-O0
>   } else {
>       require is_x86_64_m64_target
> +    lappend opts symtab
>   }
>   
>   if {[prepare_for_testing "failed to prepare" ${testfile} $srcfile $opts]} {
> diff --git a/gdb/testsuite/gdb.arch/amd64-shadow-stack-disp-step.exp b/gdb/testsuite/gdb.arch/amd64-shadow-stack-disp-step.exp
> index 82e49e62290..229727858a3 100644
> --- a/gdb/testsuite/gdb.arch/amd64-shadow-stack-disp-step.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-shadow-stack-disp-step.exp
> @@ -25,7 +25,7 @@ save_vars { ::env(GLIBC_TUNABLES) } {
>       append_environment GLIBC_TUNABLES "glibc.cpu.hwcaps" "SHSTK"
>   
>       if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
> -	  additional_flags=-fcf-protection=return] } {
> +	      {symtab additional_flags=-fcf-protection=return}] } {
>   	return
>       }
>   
> diff --git a/gdb/testsuite/gdb.arch/amd64-shadow-stack.exp b/gdb/testsuite/gdb.arch/amd64-shadow-stack.exp
> index de5bce421c2..e711362ba21 100644
> --- a/gdb/testsuite/gdb.arch/amd64-shadow-stack.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-shadow-stack.exp
> @@ -30,7 +30,7 @@ save_vars { ::env(GLIBC_TUNABLES) } {
>       append_environment GLIBC_TUNABLES "glibc.cpu.hwcaps" "SHSTK"
>   
>       if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
> -	  additional_flags=-fcf-protection=return] } {
> +	      {symtab additional_flags=-fcf-protection=return}] } {
>   	return
>       }
>   
> diff --git a/gdb/testsuite/gdb.arch/amd64-tailcall-cxx.exp b/gdb/testsuite/gdb.arch/amd64-tailcall-cxx.exp
> index c2cffe0793b..30fcba959ed 100644
> --- a/gdb/testsuite/gdb.arch/amd64-tailcall-cxx.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-tailcall-cxx.exp
> @@ -24,6 +24,7 @@ if {[info exists COMPILE]} {
>       lappend opts c++
>   } else {
>       require is_x86_64_m64_target
> +    lappend opts symtab
>   }
>   
>   if { [prepare_for_testing "failed to prepare" ${testfile} "${srcfile} ${srcfile2}" $opts] } {
> diff --git a/gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp b/gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp
> index 767602805b9..8c868bfcfec 100644
> --- a/gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp
> @@ -22,6 +22,7 @@ if {[info exists COMPILE]} {
>       lappend opts debug optimize=-O2
>   } else {
>       require is_x86_64_m64_target
> +    lappend opts symtab
>   }
>   
>   lappend opts nopie
> diff --git a/gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp b/gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp
> index 7ae151c690f..85b68f22ed8 100644
> --- a/gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp
> @@ -22,6 +22,7 @@ if {[info exists COMPILE]} {
>       lappend opts debug optimize=-O2
>   } else {
>       require is_x86_64_m64_target
> +    lappend opts symtab
>   }
>   
>   # Make .c available on the host.
> diff --git a/gdb/testsuite/gdb.arch/amd64-tailcall-self.exp b/gdb/testsuite/gdb.arch/amd64-tailcall-self.exp
> index f1c6396d510..60b0e0cc8e9 100644
> --- a/gdb/testsuite/gdb.arch/amd64-tailcall-self.exp
> +++ b/gdb/testsuite/gdb.arch/amd64-tailcall-self.exp
> @@ -17,7 +17,7 @@ standard_testfile .S
>   
>   require is_x86_64_m64_target
>   
> -if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {}] } {
> +if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {symtab}] } {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.arch/i386-bp_permanent.exp b/gdb/testsuite/gdb.arch/i386-bp_permanent.exp
> index 9805f562634..503b886a47f 100644
> --- a/gdb/testsuite/gdb.arch/i386-bp_permanent.exp
> +++ b/gdb/testsuite/gdb.arch/i386-bp_permanent.exp
> @@ -22,12 +22,14 @@ require {is_any_target "i?86-*-*" "x86_64-*-*"}
>   
>   standard_testfile
>   
> +set opts {symtab}
> +
>   # some targets have leading underscores on assembly symbols.
> -set additional_flags [gdb_target_symbol_prefix_flags]
> +lappend opts [gdb_target_symbol_prefix_flags]
>   
>   # Don't use "debug", so that we don't have line information for the assembly
>   # fragments.
> -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list $additional_flags]] != "" } {
> +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $opts] != "" } {
>       untested "failed to compile"
>       return
>   }
> diff --git a/gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection.exp b/gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection.exp
> index a860c577809..ab224605732 100644
> --- a/gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection.exp
> +++ b/gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection.exp
> @@ -75,7 +75,7 @@ with_test_prefix "skip-cf-protection-stackalign" {
>       }
>   
>       if { [prepare_for_testing "failed to prepare" "${testfile}-stackalign" \
> -	$srcfile2 [list optimize=-O0 additional_flags=-fcf-protection=full]] } {
> +	$srcfile2 [list symtab optimize=-O0 additional_flags=-fcf-protection=full]] } {
>   	return
>       }
>   
> diff --git a/gdb/testsuite/gdb.base/break-entry.exp b/gdb/testsuite/gdb.base/break-entry.exp
> index 2629d99c7ef..390db6d39f2 100644
> --- a/gdb/testsuite/gdb.base/break-entry.exp
> +++ b/gdb/testsuite/gdb.base/break-entry.exp
> @@ -29,7 +29,7 @@ standard_testfile start.c
>   
>   require !use_gdb_stub
>   
> -if { [prepare_for_testing "failed to prepare" ${testfile} $srcfile {additional_flags=-static}] } {
> +if { [prepare_for_testing "failed to prepare" ${testfile} $srcfile {symtab additional_flags=-static}] } {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp b/gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp
> index f430c51f946..a2afab54e04 100644
> --- a/gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp
> +++ b/gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp
> @@ -28,7 +28,7 @@ require allow_cplus_tests
>   standard_testfile .cc
>   
>   if {[build_executable_from_specs $testfile.exp $testfile \
> -       {c++ ldflags=-Wl,--gc-sections} \
> +       {symtab c++ ldflags=-Wl,--gc-sections} \
>          $srcfile {debug c++ additional_flags=-ffunction-sections}]} {
>       untested "failed to compile"
>       return
> diff --git a/gdb/testsuite/gdb.base/ctf-constvars.exp b/gdb/testsuite/gdb.base/ctf-constvars.exp
> index 9a98aaebe68..ca5eef3e2d9 100644
> --- a/gdb/testsuite/gdb.base/ctf-constvars.exp
> +++ b/gdb/testsuite/gdb.base/ctf-constvars.exp
> @@ -33,6 +33,7 @@ set opts {}
>   lappend opts additional_flags=-gctf
>   lappend opts ldflags=-Wl,--ctf-variables
>   lappend opts nowarnings
> +lappend opts symtab
>   
>   if { [build_executable "failed to prepare" ${testfile} \
>   	  [list $srcfile] $opts] } {
> diff --git a/gdb/testsuite/gdb.base/ctf-ptype.exp b/gdb/testsuite/gdb.base/ctf-ptype.exp
> index aabe3c9187d..daf0aea8733 100644
> --- a/gdb/testsuite/gdb.base/ctf-ptype.exp
> +++ b/gdb/testsuite/gdb.base/ctf-ptype.exp
> @@ -27,6 +27,7 @@ set opts {}
>   lappend opts additional_flags=-gctf
>   lappend opts ldflags=-Wl,--ctf-variables
>   lappend opts nowarnings
> +lappend opts symtab
>   
>   if { [prepare_for_testing "failed to prepare" ${testfile} \
>   	  [list $srcfile] $opts] } {
> diff --git a/gdb/testsuite/gdb.base/cvexpr.exp b/gdb/testsuite/gdb.base/cvexpr.exp
> index 8660289addb..64105f53e2a 100644
> --- a/gdb/testsuite/gdb.base/cvexpr.exp
> +++ b/gdb/testsuite/gdb.base/cvexpr.exp
> @@ -496,6 +496,7 @@ proc do_test {dir options} {
>   }
>   
>   set ctf_opts {}
> +lappend ctf_opts symtab
>   lappend ctf_opts additional_flags=-gctf
>   
>   # Build up the set of debug formats for which we will run this test.
> diff --git a/gdb/testsuite/gdb.base/dup-sect.exp b/gdb/testsuite/gdb.base/dup-sect.exp
> index f341456e00e..9e980941175 100644
> --- a/gdb/testsuite/gdb.base/dup-sect.exp
> +++ b/gdb/testsuite/gdb.base/dup-sect.exp
> @@ -36,7 +36,7 @@ standard_testfile .S
>   set srcmainfile start.c
>   set executable ${testfile}
>   
> -if {[build_executable ${testfile}.exp $executable [list ${srcfile} ${srcmainfile}] {}] == -1} {
> +if {[build_executable ${testfile}.exp $executable [list ${srcfile} ${srcmainfile}] {symtab}] == -1} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.base/infcall-nested-structs.exp.tcl b/gdb/testsuite/gdb.base/infcall-nested-structs.exp.tcl
> index b840766a7bb..24040de0b62 100644
> --- a/gdb/testsuite/gdb.base/infcall-nested-structs.exp.tcl
> +++ b/gdb/testsuite/gdb.base/infcall-nested-structs.exp.tcl
> @@ -64,6 +64,7 @@ proc start_nested_structs_test { lang types } {
>       set flags $compile_flags
>       lappend flags $lang
>       lappend flags "additional_flags=-O2"
> +    lappend flags symtab
>   
>       for {set n 0} {$n<[llength ${types}]} {incr n} {
>   	set m [I2A ${n}]
> diff --git a/gdb/testsuite/gdb.base/info-shared.exp b/gdb/testsuite/gdb.base/info-shared.exp
> index 0e99eb96ef9..484dce4b8ff 100644
> --- a/gdb/testsuite/gdb.base/info-shared.exp
> +++ b/gdb/testsuite/gdb.base/info-shared.exp
> @@ -43,7 +43,7 @@ set define1 -DSHLIB1_NAME=\"$binfile_lib1_target\"
>   
>   set cflags "$define1 $define2"
>   if { [prepare_for_testing "failed to prepare" $testfile $srcfile \
> -	  [list additional_flags=$cflags shlib_load]] } {
> +	  [list symtab additional_flags=$cflags shlib_load]] } {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.base/info_minsym.exp b/gdb/testsuite/gdb.base/info_minsym.exp
> index 43e3fd14eb0..24fc250df69 100644
> --- a/gdb/testsuite/gdb.base/info_minsym.exp
> +++ b/gdb/testsuite/gdb.base/info_minsym.exp
> @@ -22,8 +22,8 @@ set testfile info_minsym
>   
>   standard_testfile info_minsym.c
>   
> -# Compile the program without debugging information, to have minimal symbols.
> -if {[prepare_for_testing "failed to prepare" $testfile $srcfile {c}]} {
> +# Compile the program with "symtab" to have minimal symbols.
> +if {[prepare_for_testing "failed to prepare" $testfile $srcfile {symtab c}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.base/jit-elf-fork.exp b/gdb/testsuite/gdb.base/jit-elf-fork.exp
> index f9f516c571c..2f9951983c0 100644
> --- a/gdb/testsuite/gdb.base/jit-elf-fork.exp
> +++ b/gdb/testsuite/gdb.base/jit-elf-fork.exp
> @@ -31,7 +31,7 @@ set jit_solib_srcfile ${srcdir}/${subdir}/${jit_solib_basename}.c
>   
>   # Compile a shared library to use as JIT objects.
>   set jit_solibs_target [compile_and_download_n_jit_so \
> -		       $jit_solib_basename $jit_solib_srcfile 1]
> +		       $jit_solib_basename $jit_solib_srcfile 1 {symtab}]
>   if { $jit_solibs_target == -1 } {
>       return
>   }
> diff --git a/gdb/testsuite/gdb.base/jit-elf-so.exp b/gdb/testsuite/gdb.base/jit-elf-so.exp
> index 2a770d5df6e..0b4ab4ab7e2 100644
> --- a/gdb/testsuite/gdb.base/jit-elf-so.exp
> +++ b/gdb/testsuite/gdb.base/jit-elf-so.exp
> @@ -150,7 +150,7 @@ if { [compile_jit_dlmain {shlib_load}] < 0 } {
>   
>   # Compile two shared libraries to use as JIT objects.
>   set jit_solibs_target [compile_and_download_n_jit_so \
> -		      $jit_solib_basename $jit_solib_srcfile 2]
> +		      $jit_solib_basename $jit_solib_srcfile 2 {symtab}]
>   if { $jit_solibs_target == -1 } {
>       return
>   }
> diff --git a/gdb/testsuite/gdb.base/jit-elf.exp b/gdb/testsuite/gdb.base/jit-elf.exp
> index 37ab1ea950a..8b4ed950cbd 100644
> --- a/gdb/testsuite/gdb.base/jit-elf.exp
> +++ b/gdb/testsuite/gdb.base/jit-elf.exp
> @@ -136,7 +136,7 @@ proc one_jit_test {jit_solibs_target match_str reattach} {
>   
>   # Compile two shared libraries to use as JIT objects.
>   set jit_solibs_target [compile_and_download_n_jit_so \
> -		      $jit_solib_basename $jit_solib_srcfile 2]
> +		      $jit_solib_basename $jit_solib_srcfile 2 {symtab}]
>   if { $jit_solibs_target == -1 } {
>       return
>   }
> diff --git a/gdb/testsuite/gdb.base/list-nodebug.exp b/gdb/testsuite/gdb.base/list-nodebug.exp
> index c29905d94ba..fa9b84e49fa 100644
> --- a/gdb/testsuite/gdb.base/list-nodebug.exp
> +++ b/gdb/testsuite/gdb.base/list-nodebug.exp
> @@ -20,7 +20,7 @@ standard_testfile .c -2.c
>   
>   if { [prepare_for_testing_full "failed to prepare" \
>   	  [list \
> -	       $testfile {} \
> +	       $testfile {symtab} \
>   	       $srcfile {} \
>   	       $srcfile2 {debug}]] } {
>       return
> diff --git a/gdb/testsuite/gdb.base/morestack.exp b/gdb/testsuite/gdb.base/morestack.exp
> index 9b5ad145659..90423d4a9cc 100644
> --- a/gdb/testsuite/gdb.base/morestack.exp
> +++ b/gdb/testsuite/gdb.base/morestack.exp
> @@ -19,9 +19,9 @@ require {have_compile_flag -fsplit-stack}
>   
>   standard_testfile
>   
> -set opts "additional_flags=-fsplit-stack"
> +set opts {symtab additional_flags=-fsplit-stack}
>   if { [prepare_for_testing "failed to prepare" ${testfile} $srcfile \
> -	  [list $opts]] } {
> +	  $opts] } {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.base/msym-bp-shl.exp b/gdb/testsuite/gdb.base/msym-bp-shl.exp
> index 2b29e550af4..ba93c8bcc66 100644
> --- a/gdb/testsuite/gdb.base/msym-bp-shl.exp
> +++ b/gdb/testsuite/gdb.base/msym-bp-shl.exp
> @@ -40,7 +40,7 @@ proc test {debug} {
>       if {$debug} {
>   	set options "debug"
>       } else {
> -	set options ""
> +	set options "symtab"
>       }
>   
>       set bin ${binfile}-$debug
> diff --git a/gdb/testsuite/gdb.base/msym-bp.exp b/gdb/testsuite/gdb.base/msym-bp.exp
> index 18e16c581f7..0c2e861c7fd 100644
> --- a/gdb/testsuite/gdb.base/msym-bp.exp
> +++ b/gdb/testsuite/gdb.base/msym-bp.exp
> @@ -36,7 +36,7 @@ proc test {debug} {
>       if {$debug} {
>   	set options "debug"
>       } else {
> -	set options ""
> +	set options "symtab"
>       }
>   
>       if { [prepare_for_testing "failed to prepare" $testfile-$debug \
> diff --git a/gdb/testsuite/gdb.base/msym-lang.exp b/gdb/testsuite/gdb.base/msym-lang.exp
> index 38521e4ebf7..2b57d0caef7 100644
> --- a/gdb/testsuite/gdb.base/msym-lang.exp
> +++ b/gdb/testsuite/gdb.base/msym-lang.exp
> @@ -16,7 +16,7 @@
>   standard_testfile msym-lang-main.c msym-lang.c
>   
>   if {[prepare_for_testing "failed to prepare" $testfile [list $srcfile $srcfile2] \
> -	 {c++}]} {
> +	 {symtab c++}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.base/nodebug.exp b/gdb/testsuite/gdb.base/nodebug.exp
> index 76de3b82f97..bca1accf945 100644
> --- a/gdb/testsuite/gdb.base/nodebug.exp
> +++ b/gdb/testsuite/gdb.base/nodebug.exp
> @@ -18,7 +18,10 @@
>   
>   standard_testfile .c
>   
> -set exec_opts {}
> +# We need at least minsyms to be able to set breakpoints, run to them,
> +# and call functions by name.
> +set exec_opts {symtab}
> +
>   if {[have_compile_flag -std=c99]} {
>       # Gcc 15 defaults to c23, which no longer supports unprototyped functions.
>       # Use a c dialect that does support this.
> diff --git a/gdb/testsuite/gdb.base/psym-external-decl.exp b/gdb/testsuite/gdb.base/psym-external-decl.exp
> index bbe8a043fab..b8eec5e665b 100644
> --- a/gdb/testsuite/gdb.base/psym-external-decl.exp
> +++ b/gdb/testsuite/gdb.base/psym-external-decl.exp
> @@ -23,7 +23,7 @@ set srcfiles [list $srcfile $srcfile2]
>   
>   if { [build_executable_from_specs \
>   	  "failed to prepare" \
> -	  $testfile [list] \
> +	  $testfile [list symtab] \
>   	  $srcfile [list debug] \
>   	  $srcfile2 [list]] == -1 } {
>       return
> diff --git a/gdb/testsuite/gdb.base/solib-nodir.exp b/gdb/testsuite/gdb.base/solib-nodir.exp
> index 4189e1abd5b..733545975fa 100644
> --- a/gdb/testsuite/gdb.base/solib-nodir.exp
> +++ b/gdb/testsuite/gdb.base/solib-nodir.exp
> @@ -40,7 +40,7 @@ if { [build_executable "build library" ${binlibfile} ${srclibfile} \
>   	  {debug shlib}] == -1
>        || [gdb_gnu_strip_debug $binlibfile]
>        || [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object {debug}] != ""
> -     || [gdb_compile "${objfile} ${binlibfile}" "${binfile}" executable {}] != "" } {
> +     || [gdb_compile "${objfile} ${binlibfile}" "${binfile}" executable {symtab}] != "" } {
>       untested "failed to compile"
>       return
>   }
> diff --git a/gdb/testsuite/gdb.base/whatis.exp b/gdb/testsuite/gdb.base/whatis.exp
> index 545d50f308a..09dec9f0507 100644
> --- a/gdb/testsuite/gdb.base/whatis.exp
> +++ b/gdb/testsuite/gdb.base/whatis.exp
> @@ -592,6 +592,7 @@ proc do_test {dir options} {
>   set ctf_opts {}
>   lappend ctf_opts additional_flags=-gctf
>   lappend ctf_opts ldflags=-Wl,--ctf-variables
> +lappend ctf_opts symtab
>   
>   # Build up the set of debug formats for which we will run this test.
>   set specs { {dwarf {debug}} }
> diff --git a/gdb/testsuite/gdb.compile/compile-cplus-print.exp b/gdb/testsuite/gdb.compile/compile-cplus-print.exp
> index 9ad61184691..111296993a1 100644
> --- a/gdb/testsuite/gdb.compile/compile-cplus-print.exp
> +++ b/gdb/testsuite/gdb.compile/compile-cplus-print.exp
> @@ -21,7 +21,7 @@ require is_c_compiler_gcc
>   
>   require allow_compile_tests
>   
> -set options {}
> +set options {symtab}
>   if {[test_compiler_info gcc*]} {
>       lappend options additional_flags=-g3
>       lappend options additional_flags=-std=gnu++11
> diff --git a/gdb/testsuite/gdb.compile/compile-cplus.exp b/gdb/testsuite/gdb.compile/compile-cplus.exp
> index 5db328feff6..eebc02dc0ce 100644
> --- a/gdb/testsuite/gdb.compile/compile-cplus.exp
> +++ b/gdb/testsuite/gdb.compile/compile-cplus.exp
> @@ -21,7 +21,7 @@ require is_c_compiler_gcc
>   
>   require allow_compile_tests
>   
> -set options {}
> +set options {symtab}
>   if { [test_compiler_info gcc*] || [test_compiler_info clang*] } {
>       lappend options additional_flags=-g3
>       lappend options additional_flags=-std=gnu++11
> diff --git a/gdb/testsuite/gdb.compile/compile-ifunc.exp b/gdb/testsuite/gdb.compile/compile-ifunc.exp
> index e1cc7aee211..5368196ee36 100644
> --- a/gdb/testsuite/gdb.compile/compile-ifunc.exp
> +++ b/gdb/testsuite/gdb.compile/compile-ifunc.exp
> @@ -31,7 +31,7 @@ if {[test_compiler_info gcc*]} {
>   with_test_prefix "nodebug" {
>   
>       if { [prepare_for_testing "failed to prepare" "$testfile-nodebug" \
> -	      $srcfile $flags] } {
> +	      $srcfile [list symtab $flags]] } {
>   	return
>       }
>   
> diff --git a/gdb/testsuite/gdb.compile/compile.exp b/gdb/testsuite/gdb.compile/compile.exp
> index 5998f30180d..07fa6b30af7 100644
> --- a/gdb/testsuite/gdb.compile/compile.exp
> +++ b/gdb/testsuite/gdb.compile/compile.exp
> @@ -20,7 +20,7 @@ require allow_compile_tests
>   standard_testfile .c compile-shlib.c compile-constvar.S compile-nodebug.c
>   
>   require is_c_compiler_gcc
> -set options {additional_flags=-g3}
> +set options {symtab additional_flags=-g3}
>   
>   if { ![is_x86_64_m64_target] } {
>       verbose "Skipping x86_64 LOC_CONST test."
> diff --git a/gdb/testsuite/gdb.cp/cmpd-minsyms.exp b/gdb/testsuite/gdb.cp/cmpd-minsyms.exp
> index ccd7f5d692a..ffae762fe1f 100644
> --- a/gdb/testsuite/gdb.cp/cmpd-minsyms.exp
> +++ b/gdb/testsuite/gdb.cp/cmpd-minsyms.exp
> @@ -23,7 +23,7 @@ require allow_cplus_tests
>   standard_testfile .cc
>   
>   # Do NOT compile with debug flag.
> -if {[prepare_for_testing "failed to prepare" $testfile $srcfile {c++}]} {
> +if {[prepare_for_testing "failed to prepare" $testfile $srcfile {symtab c++}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.cp/infcall-nodebug.exp.tcl b/gdb/testsuite/gdb.cp/infcall-nodebug.exp.tcl
> index f7aea3bd1df..de36b2ae929 100644
> --- a/gdb/testsuite/gdb.cp/infcall-nodebug.exp.tcl
> +++ b/gdb/testsuite/gdb.cp/infcall-nodebug.exp.tcl
> @@ -43,7 +43,7 @@ proc build_and_run_test { lang symbols } {
>       if { $symbols == "debug" } {
>   	set debug_flags "debug"
>       } else {
> -	set debug_flags ""
> +	set debug_flags "symtab"
>       }
>   
>       # Compile both files to objects, then link together.
> @@ -64,7 +64,7 @@ proc build_and_run_test { lang symbols } {
>   	return -1
>       }
>   
> -    if { [gdb_compile "$main_o $lib_o" ${binfile} executable ""] != "" } {
> +    if { [gdb_compile "$main_o $lib_o" ${binfile} executable symtab] != "" } {
>   	untested "failed to compile"
>   	return -1
>       }
> diff --git a/gdb/testsuite/gdb.cp/nsalias.exp b/gdb/testsuite/gdb.cp/nsalias.exp
> index f3224b4339d..2d9c12dfc39 100644
> --- a/gdb/testsuite/gdb.cp/nsalias.exp
> +++ b/gdb/testsuite/gdb.cp/nsalias.exp
> @@ -178,7 +178,7 @@ if {[gdb_compile $asm_file ${binfile}2.o object {}] != ""} {
>   }
>   
>   if {[gdb_compile [list ${binfile}1.o ${binfile}2.o] \
> -	 $binfile executable {c++}] != ""} {
> +	 $binfile executable {symtab c++}] != ""} {
>       return
>   }
>   
> @@ -308,7 +308,7 @@ if {[gdb_compile $asm_file ${binfile}3.o object {}] != ""} {
>   }
>   
>   if {[gdb_compile [list ${binfile}1.o ${binfile}3.o] \
> -	 ${binfile}-r executable {c++}] != ""} {
> +	 ${binfile}-r executable {symtab c++}] != ""} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.ctf/dwarf2-and-ctf.exp b/gdb/testsuite/gdb.ctf/dwarf2-and-ctf.exp
> index b3d2b3583d7..84171b88d83 100644
> --- a/gdb/testsuite/gdb.ctf/dwarf2-and-ctf.exp
> +++ b/gdb/testsuite/gdb.ctf/dwarf2-and-ctf.exp
> @@ -37,7 +37,7 @@ if { [gdb_compile $s2 ${objfile2} object $opts] != "" } {
>       return
>   }
>   
> -set opts {}
> +set opts {symtab}
>   lappend opts "additional_flags=-Wl,-ctf-variables"
>   if { [gdb_compile [list ${objfile} ${objfile2}] $binfile executable $opts] != "" } {
>       unsupported "failed to link"
> diff --git a/gdb/testsuite/gdb.dwarf2/bitfield-parent-optimized-out.exp b/gdb/testsuite/gdb.dwarf2/bitfield-parent-optimized-out.exp
> index 0e7318bfd64..286d76975a2 100644
> --- a/gdb/testsuite/gdb.dwarf2/bitfield-parent-optimized-out.exp
> +++ b/gdb/testsuite/gdb.dwarf2/bitfield-parent-optimized-out.exp
> @@ -69,7 +69,7 @@ Dwarf::assemble $asm_file {
>       }
>   }
>   
> -if {[prepare_for_testing "failed to prepare" $executable "${asm_file} ${srcfile}" {}]} {
> +if {[prepare_for_testing "failed to prepare" $executable "${asm_file} ${srcfile}" {symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/debug-names-bad-cu-index.exp b/gdb/testsuite/gdb.dwarf2/debug-names-bad-cu-index.exp
> index 5d31414ba29..4fd37b45bce 100644
> --- a/gdb/testsuite/gdb.dwarf2/debug-names-bad-cu-index.exp
> +++ b/gdb/testsuite/gdb.dwarf2/debug-names-bad-cu-index.exp
> @@ -83,7 +83,7 @@ Dwarf::assemble {
>   }
>   
>   if {[build_executable ${testfile}.exp $testfile "${asm_file} ${srcfile}" \
> -	 [list ldflags=-nostartfiles]] == -1} {
> +	 [list symtab ldflags=-nostartfiles]] == -1} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/debug-names-duplicate-cu.exp b/gdb/testsuite/gdb.dwarf2/debug-names-duplicate-cu.exp
> index 11294ae5a13..4d7dd56107f 100644
> --- a/gdb/testsuite/gdb.dwarf2/debug-names-duplicate-cu.exp
> +++ b/gdb/testsuite/gdb.dwarf2/debug-names-duplicate-cu.exp
> @@ -61,7 +61,7 @@ Dwarf::assemble {
>   }
>   
>   if {[prepare_for_testing "failed to prepare" $testfile "${asm_file} ${srcfile}" \
> -	 [list ldflags=-nostartfiles]]} {
> +	 [list symtab ldflags=-nostartfiles]]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/debug-names-missing-cu.exp b/gdb/testsuite/gdb.dwarf2/debug-names-missing-cu.exp
> index c5eca54b55c..558e8d7d5b6 100644
> --- a/gdb/testsuite/gdb.dwarf2/debug-names-missing-cu.exp
> +++ b/gdb/testsuite/gdb.dwarf2/debug-names-missing-cu.exp
> @@ -68,7 +68,7 @@ Dwarf::assemble {
>   }
>   
>   if {[prepare_for_testing "failed to prepare" $testfile "${asm_file} ${srcfile}" \
> -	 [list ldflags=-nostartfiles]]} {
> +	 [list symtab ldflags=-nostartfiles]]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/debug-names-tu.exp.tcl b/gdb/testsuite/gdb.dwarf2/debug-names-tu.exp.tcl
> index bd48df6a894..ad19db12cdf 100644
> --- a/gdb/testsuite/gdb.dwarf2/debug-names-tu.exp.tcl
> +++ b/gdb/testsuite/gdb.dwarf2/debug-names-tu.exp.tcl
> @@ -91,7 +91,7 @@ Dwarf::assemble {
>   }
>   
>   if {[prepare_for_testing "failed to prepare" $testfile "${asm_file} ${srcfile}" \
> -	 [list ldflags=-nostartfiles]]} {
> +	 [list symtab ldflags=-nostartfiles]]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/debug-names.exp b/gdb/testsuite/gdb.dwarf2/debug-names.exp
> index 39bdd3d59e8..e61c20a9142 100644
> --- a/gdb/testsuite/gdb.dwarf2/debug-names.exp
> +++ b/gdb/testsuite/gdb.dwarf2/debug-names.exp
> @@ -64,7 +64,7 @@ Dwarf::assemble {
>   }
>   
>   if {[prepare_for_testing "failed to prepare" $testfile "${asm_file} ${srcfile}" \
> -	 [list ldflags=-nostartfiles]]} {
> +	 [list symtab ldflags=-nostartfiles]]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.exp b/gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.exp
> index 6e729f8c6ec..4a1065da0ae 100644
> --- a/gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.exp
> +++ b/gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.exp
> @@ -17,12 +17,13 @@ load_lib dwarf.exp
>   # This test can only be run on targets which support DWARF-2 and use gas.
>   require dwarf2_support
>   
> +set opts {symtab}
> +
>   # Some targets have leading underscores on assembly symbols.
> -set additional_flags [gdb_target_symbol_prefix_flags_asm]
> +lappend opts [gdb_target_symbol_prefix_flags_asm]
>   
>   standard_testfile .S
> -if {[prepare_for_testing "failed to prepare" $testfile $srcfile \
> -	$additional_flags]} {
> +if {[prepare_for_testing "failed to prepare" $testfile $srcfile $opts]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/dw2-complex-parts.exp b/gdb/testsuite/gdb.dwarf2/dw2-complex-parts.exp
> index f8da14c0a5a..bb77533df6d 100644
> --- a/gdb/testsuite/gdb.dwarf2/dw2-complex-parts.exp
> +++ b/gdb/testsuite/gdb.dwarf2/dw2-complex-parts.exp
> @@ -158,7 +158,7 @@ Dwarf::assemble $asm_file {
>   }
>   
>   if {[prepare_for_testing "failed to prepare" $testfile \
> -	 "${asm_file} ${srcfile}" {}]} {
> +	 "${asm_file} ${srcfile}" {symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.exp b/gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.exp
> index a659ae7171a..a16463ef71f 100644
> --- a/gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.exp
> +++ b/gdb/testsuite/gdb.dwarf2/dw2-cp-infcall-ref-static.exp
> @@ -26,7 +26,7 @@ require dwarf2_support
>   standard_testfile .S -main.c
>   
>   if { [prepare_for_testing "failed to prepare" ${testfile} \
> -	  [list $srcfile2 $srcfile] {}] } {
> +	  [list $srcfile2 $srcfile] {symtab}] } {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp b/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp
> index 6b01e1d2880..633d18d9204 100644
> --- a/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp
> +++ b/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp
> @@ -392,7 +392,8 @@ puts -nonewline $f "\
>   
>   close $f
>   
> -set opts {}
> +set opts {symtab}
> +
>   # Base directory.
>   lappend opts "additional_flags=-DBDIR=\"${srcabsdir}\""
>   # Incorrect directory which should never be visible from GDB.
> diff --git a/gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.exp b/gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.exp
> index 15bb0f704cd..4fca3c8591f 100644
> --- a/gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.exp
> +++ b/gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.exp
> @@ -28,7 +28,7 @@ set executable ${testfile}
>   
>   if {[prepare_for_testing_full "failed to prepare" \
>   	 [list \
> -	      $testfile c++ \
> +	      $testfile {c++ symtab} \
>   	      $testfile-main.cc {c++} \
>   	      $srcfile {}]]} {
>       return
> diff --git a/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.exp b/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.exp
> index 81a0f2fb45d..480fb862c3e 100644
> --- a/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.exp
> +++ b/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.exp
> @@ -40,7 +40,7 @@ lappend flags \
>   set executable ${testfile}
>   
>   if { [prepare_for_testing_full "failed to prepare" \
> -	  [list $testfile {} \
> +	  [list $testfile {symtab} \
>   	       $srcfile [concat $flags {}]  \
>   	       $srcfile2 {} \
>   	       $srcfile3 {debug}]] == -1 } {
> diff --git a/gdb/testsuite/gdb.dwarf2/dw2-restore.exp b/gdb/testsuite/gdb.dwarf2/dw2-restore.exp
> index e0c334f80cc..4eacd961772 100644
> --- a/gdb/testsuite/gdb.dwarf2/dw2-restore.exp
> +++ b/gdb/testsuite/gdb.dwarf2/dw2-restore.exp
> @@ -19,7 +19,7 @@
>   require is_x86_64_m64_target
>   standard_testfile .S
>   
> -set opts [list {additional_flags=-nostdlib}]
> +set opts {symtab additional_flags=-nostdlib}
>   
>   # Clang's integrated assembler doesn't support .func or .endfunc.
>   if { [test_compiler_info clang*] } {
> diff --git a/gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp b/gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp
> index 276793325d6..e2e87e4904b 100644
> --- a/gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp
> +++ b/gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp
> @@ -45,7 +45,8 @@ if {[is_ilp32_target]} {
>   
>   if { [build_executable ${testfile}.exp ${executable} \
>   	  "${testfile}.c ${testfile}.S" \
> -	  [list additional_flags=-DINLINED \
> +	  [list symtab \
> +		additional_flags=-DINLINED \
>   		additional_flags=-DPTRBITS=$ptrbits]] == -1 } {
>       return
>   }
> diff --git a/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes-lookup.exp b/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes-lookup.exp
> index 0b2d7f64f75..f5e09337d63 100644
> --- a/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes-lookup.exp
> +++ b/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes-lookup.exp
> @@ -90,7 +90,7 @@ Dwarf::assemble $asm_file {
>   }
>   
>   if { [prepare_for_testing "failed to prepare" $testfile \
> -	  "${asm_file} ${srcfile}" {}] } {
> +	  "${asm_file} ${srcfile}" {symtab}] } {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes.exp b/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes.exp
> index 7c7c2a20432..4d334649e79 100644
> --- a/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes.exp
> +++ b/gdb/testsuite/gdb.dwarf2/dw2-symtab-includes.exp
> @@ -62,7 +62,7 @@ Dwarf::assemble $asm_file {
>   }
>   
>   if { [prepare_for_testing "failed to prepare" $testfile \
> -	  "${asm_file} ${srcfile}" {}] } {
> +	  "${asm_file} ${srcfile}" {symtab}] } {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type.exp b/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type.exp
> index fe0974fd8f4..7300b0c2737 100644
> --- a/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type.exp
> +++ b/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type.exp
> @@ -92,7 +92,7 @@ Dwarf::assemble $asm_file {
>   }
>   
>   if {[prepare_for_testing "failed to prepare" $testfile \
> -	 "${asm_file} ${srcfile} ${srcfile2}" {}]} {
> +	 "${asm_file} ${srcfile} ${srcfile2}" {symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/dwz.exp b/gdb/testsuite/gdb.dwarf2/dwz.exp
> index 96dab6cf930..ae1437fe109 100644
> --- a/gdb/testsuite/gdb.dwarf2/dwz.exp
> +++ b/gdb/testsuite/gdb.dwarf2/dwz.exp
> @@ -80,7 +80,7 @@ Dwarf::assemble $asm_file {
>       }
>   }
>   
> -if {[prepare_for_testing "failed to prepare" $testfile "${asm_file} ${srcfile}" {}]} {
> +if {[prepare_for_testing "failed to prepare" $testfile "${asm_file} ${srcfile}" {symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/dwzbuildid.tcl b/gdb/testsuite/gdb.dwarf2/dwzbuildid.tcl
> index 2308ab67acf..4c0c0580df5 100644
> --- a/gdb/testsuite/gdb.dwarf2/dwzbuildid.tcl
> +++ b/gdb/testsuite/gdb.dwarf2/dwzbuildid.tcl
> @@ -177,7 +177,7 @@ foreach_with_prefix testname $tests {
>   	set objs [list ${binfile}1.o ${binfile}6.o]
>       }
>   
> -    if {[gdb_compile $objs ${binfile}-$testname executable {quiet}] != ""} {
> +    if {[gdb_compile $objs ${binfile}-$testname executable {symtab quiet}] != ""} {
>   	unsupported "compilation failed"
>   	continue
>       }
> diff --git a/gdb/testsuite/gdb.dwarf2/entry-value-typedef.exp b/gdb/testsuite/gdb.dwarf2/entry-value-typedef.exp
> index 999c01c7179..d6420ffdc25 100644
> --- a/gdb/testsuite/gdb.dwarf2/entry-value-typedef.exp
> +++ b/gdb/testsuite/gdb.dwarf2/entry-value-typedef.exp
> @@ -27,7 +27,7 @@ if { [istarget "x86_64-*-linux*"] && [is_lp64_target] } {
>   
>   standard_testfile -$suffix.S
>   
> -if {[gdb_compile "$srcdir/$subdir/$srcfile" "$binfile" executable {c++}] != ""} {
> +if {[gdb_compile "$srcdir/$subdir/$srcfile" "$binfile" executable {symtab c++}] != ""} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/fission-call.exp b/gdb/testsuite/gdb.dwarf2/fission-call.exp
> index f7cfb6296e8..99708b5d3e0 100644
> --- a/gdb/testsuite/gdb.dwarf2/fission-call.exp
> +++ b/gdb/testsuite/gdb.dwarf2/fission-call.exp
> @@ -107,7 +107,7 @@ Dwarf::assemble $asm_file {
>   }
>   
>   set obj [standard_output_file "${testfile}-dw.o"]
> -if {[build_executable_and_dwo_files "$testfile.exp" "${binfile}" {} \
> +if {[build_executable_and_dwo_files "$testfile.exp" "${binfile}" {symtab} \
>   	 [list $asm_file {split-dwo} $obj] \
>   	 [list $srcfile {}]]} {
>       return
> diff --git a/gdb/testsuite/gdb.dwarf2/fission-reread.exp b/gdb/testsuite/gdb.dwarf2/fission-reread.exp
> index 80cf179a538..998f9faf696 100644
> --- a/gdb/testsuite/gdb.dwarf2/fission-reread.exp
> +++ b/gdb/testsuite/gdb.dwarf2/fission-reread.exp
> @@ -29,7 +29,7 @@ standard_testfile .S
>   set obj [standard_output_file "${testfile}.o"]
>   set dwo [standard_output_file "${testfile}.dwo"]
>   
> -set exec_options {}
> +set exec_options {symtab}
>   if { $additional_flags != "" } {
>       lappend exec_options $additional_flags
>   }
> diff --git a/gdb/testsuite/gdb.dwarf2/fission-with-type-unit.exp b/gdb/testsuite/gdb.dwarf2/fission-with-type-unit.exp
> index 858265b3afa..f039e517e86 100644
> --- a/gdb/testsuite/gdb.dwarf2/fission-with-type-unit.exp
> +++ b/gdb/testsuite/gdb.dwarf2/fission-with-type-unit.exp
> @@ -77,7 +77,7 @@ Dwarf::assemble $asm_file {
>   }
>   
>   set obj [standard_output_file "${testfile}-dw.o"]
> -if {[build_executable_and_dwo_files "$testfile.exp" "${binfile}" {} \
> +if {[build_executable_and_dwo_files "$testfile.exp" "${binfile}" {symtab} \
>   	 [list $asm_file {split-dwo} $obj] \
>   	 [list $srcfile {}]]} {
>       return
> diff --git a/gdb/testsuite/gdb.dwarf2/frame-inlined-in-outer-frame.exp b/gdb/testsuite/gdb.dwarf2/frame-inlined-in-outer-frame.exp
> index 6f5045f545d..0c2723edc6b 100644
> --- a/gdb/testsuite/gdb.dwarf2/frame-inlined-in-outer-frame.exp
> +++ b/gdb/testsuite/gdb.dwarf2/frame-inlined-in-outer-frame.exp
> @@ -101,7 +101,7 @@ Dwarf::assemble $dwarf_asm {
>   }
>   
>   if { [build_executable ${testfile}.exp ${testfile} "$srcfile $dwarf_asm" \
> -      {additional_flags=-nostdlib additional_flags=-static}] != 0 } {
> +      {symtab additional_flags=-nostdlib additional_flags=-static}] != 0 } {
>       untested "failed to compile"
>       return
>   }
> diff --git a/gdb/testsuite/gdb.dwarf2/gdb-index-skeletonless-tu.exp b/gdb/testsuite/gdb.dwarf2/gdb-index-skeletonless-tu.exp
> index 1bd2a6981e5..ce4c7913548 100644
> --- a/gdb/testsuite/gdb.dwarf2/gdb-index-skeletonless-tu.exp
> +++ b/gdb/testsuite/gdb.dwarf2/gdb-index-skeletonless-tu.exp
> @@ -77,7 +77,7 @@ Dwarf::assemble $asm_file {
>   }
>   
>   set obj [standard_output_file "${testfile}-dw.o"]
> -if {[build_executable_and_dwo_files "$testfile.exp" "${binfile}" {} \
> +if {[build_executable_and_dwo_files "$testfile.exp" "${binfile}" {symtab} \
>   	 [list $asm_file {split-dwo} $obj] \
>   	 [list $srcfile {}]]} {
>       return
> diff --git a/gdb/testsuite/gdb.dwarf2/implptr-64bit.exp b/gdb/testsuite/gdb.dwarf2/implptr-64bit.exp
> index 59b91fad6fa..fa07296ba04 100644
> --- a/gdb/testsuite/gdb.dwarf2/implptr-64bit.exp
> +++ b/gdb/testsuite/gdb.dwarf2/implptr-64bit.exp
> @@ -123,7 +123,7 @@ proc test_1 { name dwarf_version offset_size addr_size ref_addr_size two_cu } {
>       }
>   
>       # 32-bit targets do not support any of the testcases; keep quiet there.
> -    set opts {quiet}
> +    set opts {symtab quiet}
>       set executable ${testfile}-${name}
>       if {[prepare_for_testing "failed to prepare" $executable "${asm_file} ${srcfile}" $opts]} {
>   	return -1
> diff --git a/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp b/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp
> index ac4f0491198..06d2e882eae 100644
> --- a/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp
> +++ b/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp
> @@ -76,7 +76,7 @@ Dwarf::assemble $asm_file {
>       }
>   }
>   
> -if {[prepare_for_testing "failed to prepare" $executable "${asm_file} ${srcfile}" {}]} {
> +if {[prepare_for_testing "failed to prepare" $executable "${asm_file} ${srcfile}" {symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/implref-array.exp b/gdb/testsuite/gdb.dwarf2/implref-array.exp
> index dfa676de693..d3edc04efc4 100644
> --- a/gdb/testsuite/gdb.dwarf2/implref-array.exp
> +++ b/gdb/testsuite/gdb.dwarf2/implref-array.exp
> @@ -113,7 +113,7 @@ Dwarf::assemble ${asm_file} {
>       }
>   }
>   
> -if {[prepare_for_testing "failed to prepare" ${executable} [list ${asm_file} ${srcfile}] {}]} {
> +if {[prepare_for_testing "failed to prepare" ${executable} [list ${asm_file} ${srcfile}] {symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/implref-const.exp b/gdb/testsuite/gdb.dwarf2/implref-const.exp
> index 0d79e05f8ef..587f59cf75d 100644
> --- a/gdb/testsuite/gdb.dwarf2/implref-const.exp
> +++ b/gdb/testsuite/gdb.dwarf2/implref-const.exp
> @@ -92,7 +92,7 @@ Dwarf::assemble ${asm_file} {
>       }
>   }
>   
> -if {[prepare_for_testing "failed to prepare" ${executable} [list ${asm_file} ${srcfile}] {}]} {
> +if {[prepare_for_testing "failed to prepare" ${executable} [list ${asm_file} ${srcfile}] {symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/implref-global.exp b/gdb/testsuite/gdb.dwarf2/implref-global.exp
> index 4c2466756e3..67869519a21 100644
> --- a/gdb/testsuite/gdb.dwarf2/implref-global.exp
> +++ b/gdb/testsuite/gdb.dwarf2/implref-global.exp
> @@ -92,7 +92,7 @@ Dwarf::assemble ${asm_file} {
>       }
>   }
>   
> -if {[prepare_for_testing "failed to prepare" ${executable} [list ${asm_file} ${srcfile}] {}]} {
> +if {[prepare_for_testing "failed to prepare" ${executable} [list ${asm_file} ${srcfile}] {symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/implref-struct.exp b/gdb/testsuite/gdb.dwarf2/implref-struct.exp
> index d62f426ed73..c38bc0fea3c 100644
> --- a/gdb/testsuite/gdb.dwarf2/implref-struct.exp
> +++ b/gdb/testsuite/gdb.dwarf2/implref-struct.exp
> @@ -129,7 +129,7 @@ Dwarf::assemble ${asm_file} {
>       }
>   }
>   
> -if {[prepare_for_testing "failed to prepare" ${executable} [list ${asm_file} ${srcfile}] {}]} {
> +if {[prepare_for_testing "failed to prepare" ${executable} [list ${asm_file} ${srcfile}] {symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/inlined_subroutine-inheritance.exp b/gdb/testsuite/gdb.dwarf2/inlined_subroutine-inheritance.exp
> index be97260c0b5..1734bfc53e3 100644
> --- a/gdb/testsuite/gdb.dwarf2/inlined_subroutine-inheritance.exp
> +++ b/gdb/testsuite/gdb.dwarf2/inlined_subroutine-inheritance.exp
> @@ -201,7 +201,7 @@ Dwarf::assemble $asm_file {
>   }
>   
>   if {[prepare_for_testing "failed to prepare" $testfile \
> -	 "${asm_file} ${srcfile}" {}]} {
> +	 "${asm_file} ${srcfile}" {symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/intbits.exp b/gdb/testsuite/gdb.dwarf2/intbits.exp
> index 46e45aeb861..47c0bc53f01 100644
> --- a/gdb/testsuite/gdb.dwarf2/intbits.exp
> +++ b/gdb/testsuite/gdb.dwarf2/intbits.exp
> @@ -195,7 +195,7 @@ Dwarf::assemble ${asm_file} {
>   }
>   
>   if {[prepare_for_testing "failed to prepare" ${executable} \
> -	 [list ${asm_file} ${srcfile}] {}]} {
> +	 [list ${asm_file} ${srcfile}] {symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/multi-piece-inherited-bitfield.exp b/gdb/testsuite/gdb.dwarf2/multi-piece-inherited-bitfield.exp
> index 427828f7178..d72c226f71d 100644
> --- a/gdb/testsuite/gdb.dwarf2/multi-piece-inherited-bitfield.exp
> +++ b/gdb/testsuite/gdb.dwarf2/multi-piece-inherited-bitfield.exp
> @@ -133,7 +133,7 @@ Dwarf::assemble ${asm_file} {
>   
>   # Now compile both C source and generated DWARF assembly.
>   if {[prepare_for_testing "failed to prepare" ${testfile} \
> -	 [list ${asm_file} ${srcfile}] {}]} {
> +	 [list ${asm_file} ${srcfile}] {symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/multi-piece-primitive-field.exp b/gdb/testsuite/gdb.dwarf2/multi-piece-primitive-field.exp
> index 4d6b3fcb6c1..ac6de94487a 100644
> --- a/gdb/testsuite/gdb.dwarf2/multi-piece-primitive-field.exp
> +++ b/gdb/testsuite/gdb.dwarf2/multi-piece-primitive-field.exp
> @@ -162,7 +162,7 @@ Dwarf::assemble ${asm_file} {
>   
>   # Now compile both C source and generated DWARF assembly.
>   if {[prepare_for_testing "failed to prepare" ${testfile} \
> -	 [list ${asm_file} ${srcfile}] {}]} {
> +	 [list ${asm_file} ${srcfile}] {symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/pr13961.exp b/gdb/testsuite/gdb.dwarf2/pr13961.exp
> index 46bcdd70b0e..d89d1943377 100644
> --- a/gdb/testsuite/gdb.dwarf2/pr13961.exp
> +++ b/gdb/testsuite/gdb.dwarf2/pr13961.exp
> @@ -20,13 +20,15 @@ load_lib dwarf.exp
>   # This test can only be run on targets which support DWARF-2 and use gas.
>   require dwarf2_support
>   
> +set opts {symtab}
> +
>   # Some targets have leading underscores on assembly symbols.
> -set additional_flags [gdb_target_symbol_prefix_flags_asm]
> +lappend opts [gdb_target_symbol_prefix_flags_asm]
>   
>   standard_testfile .S
>   
>   if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
> -	${additional_flags}] == -1 } {
> +	$opts] == -1 } {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/self-spec.exp b/gdb/testsuite/gdb.dwarf2/self-spec.exp
> index b51c7e41a8b..fbdb8e50a52 100644
> --- a/gdb/testsuite/gdb.dwarf2/self-spec.exp
> +++ b/gdb/testsuite/gdb.dwarf2/self-spec.exp
> @@ -52,7 +52,7 @@ Dwarf::assemble $asm_file {
>       }
>   }
>   
> -if {[prepare_for_testing "failed to prepare" $testfile "${asm_file} ${srcfile}" {}]} {
> +if {[prepare_for_testing "failed to prepare" $testfile "${asm_file} ${srcfile}" {symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.dwarf2/varval.exp b/gdb/testsuite/gdb.dwarf2/varval.exp
> index 032e3d11c0e..f9a24a62bc8 100644
> --- a/gdb/testsuite/gdb.dwarf2/varval.exp
> +++ b/gdb/testsuite/gdb.dwarf2/varval.exp
> @@ -314,7 +314,7 @@ proc setup_exec { arg_bad } {
>   	}
>       }
>   
> -    if {[prepare_for_testing "failed to prepare" ${executable} [list ${asm_file} ${srcfile}] {}]} {
> +    if {[prepare_for_testing "failed to prepare" ${executable} [list ${asm_file} ${srcfile}] {symtab}]} {
>   	return -1
>       }
>   }
> diff --git a/gdb/testsuite/gdb.guile/scm-breakpoint.exp b/gdb/testsuite/gdb.guile/scm-breakpoint.exp
> index 60764a986c1..1b526f4f646 100644
> --- a/gdb/testsuite/gdb.guile/scm-breakpoint.exp
> +++ b/gdb/testsuite/gdb.guile/scm-breakpoint.exp
> @@ -531,7 +531,7 @@ proc_with_prefix test_bkpt_probe {} {
>       global decimal hex testfile srcfile
>   
>       if { [prepare_for_testing "failed to prepare" ${testfile}-probes \
> -	    ${srcfile} {additional_flags=-DUSE_PROBES}] } {
> +	    ${srcfile} {symtab additional_flags=-DUSE_PROBES}] } {
>   	return -1
>       }
>   
> diff --git a/gdb/testsuite/gdb.linespec/break-asm-file.exp b/gdb/testsuite/gdb.linespec/break-asm-file.exp
> index 6b86dd5b4cd..a9df431b305 100644
> --- a/gdb/testsuite/gdb.linespec/break-asm-file.exp
> +++ b/gdb/testsuite/gdb.linespec/break-asm-file.exp
> @@ -42,7 +42,7 @@ if  {[gdb_compile ${srcdir}/${subdir}/$asm_file1 ${binfile}3.o \
>   }
>   
>   if  {[gdb_compile [list ${binfile}1.o ${binfile}2.o ${binfile}3.o] \
> -	  "${binfile}" executable {}] != ""} {
> +	  "${binfile}" executable {symtab}] != ""} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp b/gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp
> index 94f42fe77ab..7e59b003cf8 100644
> --- a/gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp
> +++ b/gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp
> @@ -38,7 +38,7 @@ set objmainfile [standard_output_file ${testfile}-main.o]
>   if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" $objsfile object {}] != ""
>        || [gdb_compile "${srcdir}/${subdir}/${srcfile2}" $objfuncfile object {}] != ""
>        || [gdb_compile "${srcdir}/${subdir}/${srcfile3}" $objmainfile object {debug}] != ""
> -     || [gdb_compile "$objfuncfile $objsfile $objmainfile" $binfile executable {}] != "" } {
> +     || [gdb_compile "$objfuncfile $objsfile $objmainfile" $binfile executable {symtab}] != "" } {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp b/gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp
> index adcd713453c..47f4574cd1b 100644
> --- a/gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp
> +++ b/gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp
> @@ -25,6 +25,7 @@ if {[info exists COMPILE]} {
>       lappend opts debug optimize=-O2
>   } else {
>       require is_x86_64_m64_target
> +    lappend opts symtab
>   }
>   
>   if {[build_executable ${testfile}.exp ${binfile} ${srcfile} $opts]} {
> diff --git a/gdb/testsuite/gdb.python/py-frame.exp b/gdb/testsuite/gdb.python/py-frame.exp
> index aebec651964..97d3262fa42 100644
> --- a/gdb/testsuite/gdb.python/py-frame.exp
> +++ b/gdb/testsuite/gdb.python/py-frame.exp
> @@ -237,7 +237,7 @@ foreach_with_prefix stop_at_level { None 0 1 2 } {
>   }
>   
>   # Compile again without debug info.
> -if { [prepare_for_testing "failed to prepare" ${testfile}-nodebug ${srcfile} {}] } {
> +if { [prepare_for_testing "failed to prepare" ${testfile}-nodebug ${srcfile} {symtab}] } {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.python/py-framefilter-invalidarg.exp b/gdb/testsuite/gdb.python/py-framefilter-invalidarg.exp
> index 8a4bf001a69..ef5fb424750 100644
> --- a/gdb/testsuite/gdb.python/py-framefilter-invalidarg.exp
> +++ b/gdb/testsuite/gdb.python/py-framefilter-invalidarg.exp
> @@ -23,7 +23,7 @@ require is_x86_64_m64_target
>   
>   # We cannot use prepare_for_testing as we have to set the safe-patch
>   # to check objfile and progspace printers.
> -if {[build_executable $testfile.exp $testfile $srcfile {}] == -1} {
> +if {[build_executable $testfile.exp $testfile $srcfile {symtab}] == -1} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.python/py-linetable.exp b/gdb/testsuite/gdb.python/py-linetable.exp
> index 5290c4a9bea..e5b987380a2 100644
> --- a/gdb/testsuite/gdb.python/py-linetable.exp
> +++ b/gdb/testsuite/gdb.python/py-linetable.exp
> @@ -24,6 +24,7 @@ if {[info exists COMPILE]} {
>       lappend opts debug optimize=-O2
>   } else {
>       require is_x86_64_m64_target
> +    lappend opts symtab
>   }
>   
>   if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $opts] } {
> diff --git a/gdb/testsuite/gdb.python/py-prettyprint-stub.exp b/gdb/testsuite/gdb.python/py-prettyprint-stub.exp
> index 491e8c36959..387dbd9144a 100644
> --- a/gdb/testsuite/gdb.python/py-prettyprint-stub.exp
> +++ b/gdb/testsuite/gdb.python/py-prettyprint-stub.exp
> @@ -26,7 +26,7 @@ set srcfiles [list $srcfile $srcfile2]
>   
>   if { [build_executable_from_specs \
>   	  "failed to prepare" \
> -	  $testfile {c++} \
> +	  $testfile {c++ symtab} \
>   	  $srcfile {c++ debug} \
>   	  $srcfile2 {c++}] == -1 } {
>       return
> diff --git a/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.exp b/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.exp
> index c3289fa4c6f..5757c4a44df 100644
> --- a/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.exp
> +++ b/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.exp
> @@ -24,6 +24,7 @@ if {[info exists COMPILE]} {
>       lappend opts debug optimize=-O2
>   } else {
>       require is_x86_64_m64_target
> +    lappend opts symtab
>   }
>   
>   if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $opts] } {
> diff --git a/gdb/testsuite/gdb.reverse/singlejmp-reverse.exp b/gdb/testsuite/gdb.reverse/singlejmp-reverse.exp
> index dfa8ac179f0..ae4cc1ff6a0 100644
> --- a/gdb/testsuite/gdb.reverse/singlejmp-reverse.exp
> +++ b/gdb/testsuite/gdb.reverse/singlejmp-reverse.exp
> @@ -20,7 +20,7 @@ set executable ${testfile}
>   
>   if {[info exists COMPILE]} {
>       # make check RUNTESTFLAGS="gdb.reverse/singlejmp-reverse.exp COMPILE=1"
> -    if { [build_executable_from_specs ${testfile}.exp $executable {} \
> +    if { [build_executable_from_specs ${testfile}.exp $executable {symtab} \
>   				      ${testfile}.c {debug optimize=-O2} \
>   				      ${testfile}-nodebug.c {optimize=-O2} \
>   				      ] == -1 } {
> @@ -29,7 +29,7 @@ if {[info exists COMPILE]} {
>   } else {
>       require is_x86_64_m64_target
>       if { [build_executable ${testfile}.exp ${testfile} \
> -	      [list ${srcfile} ${srcfile2}] {}] == -1 } {
> +	      [list ${srcfile} ${srcfile2}] {symtab}] == -1 } {
>   	return
>       }
>   }
> diff --git a/gdb/testsuite/gdb.rocm/addr-bp-gpu-no-deb-info.exp b/gdb/testsuite/gdb.rocm/addr-bp-gpu-no-deb-info.exp
> index 039a208a5fa..60865e49730 100644
> --- a/gdb/testsuite/gdb.rocm/addr-bp-gpu-no-deb-info.exp
> +++ b/gdb/testsuite/gdb.rocm/addr-bp-gpu-no-deb-info.exp
> @@ -22,7 +22,7 @@ standard_testfile .cpp
>   
>   require allow_hipcc_tests
>   
> -if {[build_executable "failed to prepare" $testfile $srcfile {hip}]} {
> +if {[build_executable "failed to prepare" $testfile $srcfile {hip symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.rocm/displaced-stepping.exp b/gdb/testsuite/gdb.rocm/displaced-stepping.exp
> index 383972bbb33..ac4ecac8d96 100644
> --- a/gdb/testsuite/gdb.rocm/displaced-stepping.exp
> +++ b/gdb/testsuite/gdb.rocm/displaced-stepping.exp
> @@ -23,7 +23,7 @@ require allow_hipcc_tests
>   
>   # Since GDB doesn't yet understand DWARF expressions generated by the HIP
>   # compiler, purposefully generate the binary without debug info.
> -if {[build_executable "failed to prepare" $testfile $srcfile {hip}]} {
> +if {[build_executable "failed to prepare" $testfile $srcfile {hip symtab}]} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu.exp b/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu.exp
> index ca104e1cb07..4c91a62bd33 100644
> --- a/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu.exp
> +++ b/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu.exp
> @@ -31,6 +31,7 @@ set binfile_execee "$binfile-execee"
>   # Compile two versions of execer, one that uses fork and one that uses vfork.
>   foreach_with_prefix fork_func { fork vfork } {
>       set opts {}
> +    lappend opts symtab
>       lappend opts additional_flags=-DFORK=$fork_func
>       lappend opts additional_flags=-DEXECEE=[quote_for_host $::binfile_execee]
>   
> diff --git a/gdb/testsuite/gdb.server/sysroot.exp b/gdb/testsuite/gdb.server/sysroot.exp
> index 7e4a796e879..c4f30587cdc 100644
> --- a/gdb/testsuite/gdb.server/sysroot.exp
> +++ b/gdb/testsuite/gdb.server/sysroot.exp
> @@ -23,7 +23,9 @@ load_lib gdbserver-support.exp
>   require allow_gdbserver_tests
>   
>   standard_testfile
> -if {[build_executable "failed to prepare" $testfile $srcfile "additional_flags=--no-builtin"] == -1} {
> +
> +set opts {symtab "additional_flags=--no-builtin"}
> +if {[build_executable "failed to prepare" $testfile $srcfile $opts] == -1} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.threads/tls-nodebug-pie.exp b/gdb/testsuite/gdb.threads/tls-nodebug-pie.exp
> index 5e9c4ddd2e8..131a58b5475 100644
> --- a/gdb/testsuite/gdb.threads/tls-nodebug-pie.exp
> +++ b/gdb/testsuite/gdb.threads/tls-nodebug-pie.exp
> @@ -16,7 +16,7 @@
>   standard_testfile
>   
>   if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable \
> -	 {pie}] != "" } {
> +	 {pie symtab}] != "" } {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.threads/tls-nodebug.exp b/gdb/testsuite/gdb.threads/tls-nodebug.exp
> index e02788700d8..2b1c5a84885 100644
> --- a/gdb/testsuite/gdb.threads/tls-nodebug.exp
> +++ b/gdb/testsuite/gdb.threads/tls-nodebug.exp
> @@ -22,7 +22,7 @@ if {[istarget "*-*-linux"]} {
>       set target_cflags ""
>   }
>   
> -if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable []] != "" } {
> +if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {symtab}] != "" } {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.threads/tls-var.exp b/gdb/testsuite/gdb.threads/tls-var.exp
> index 28d0886c6bf..4e6816eef51 100644
> --- a/gdb/testsuite/gdb.threads/tls-var.exp
> +++ b/gdb/testsuite/gdb.threads/tls-var.exp
> @@ -21,7 +21,7 @@ set executable ${testfile}
>   
>   if { [gdb_compile ${srcdir}/${subdir}/${srcfile} ${objfile} object {debug}] != ""
>        || [gdb_compile ${srcdir}/${subdir}/${srcmainfile} ${objmainfile} object {}] != ""
> -     || [gdb_compile_pthreads "${objfile} ${objmainfile}" ${binfile} executable {}] != ""} {
> +     || [gdb_compile_pthreads "${objfile} ${objmainfile}" ${binfile} executable {symtab}] != ""} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.trace/entry-values.exp b/gdb/testsuite/gdb.trace/entry-values.exp
> index 251acc10bfe..0ad4496f6d2 100644
> --- a/gdb/testsuite/gdb.trace/entry-values.exp
> +++ b/gdb/testsuite/gdb.trace/entry-values.exp
> @@ -25,7 +25,7 @@ if  {[gdb_compile ${srcdir}/${subdir}/${srcfile} ${binfile}1.o \
>   }
>   
>   if  {[gdb_compile [list ${binfile}1.o] \
> -	  "${binfile}1" executable {}] != ""} {
> +	  "${binfile}1" executable {symtab}] != ""} {
>       return
>   }
>   
> @@ -159,7 +159,7 @@ if  {[gdb_compile $asm_file ${binfile}2.o object {}] != ""} {
>   }
>   
>   if  {[gdb_compile [list ${binfile}1.o ${binfile}2.o] \
> -	  "${binfile}" executable {}] != ""} {
> +	  "${binfile}" executable {symtab}] != ""} {
>       return
>   }
>   
> diff --git a/gdb/testsuite/gdb.trace/tspeed.exp b/gdb/testsuite/gdb.trace/tspeed.exp
> index 16bfdf2304d..89c4e933028 100644
> --- a/gdb/testsuite/gdb.trace/tspeed.exp
> +++ b/gdb/testsuite/gdb.trace/tspeed.exp
> @@ -26,7 +26,7 @@ standard_testfile
>   set executable $testfile
>   
>   # Check that the target supports trace.
> -if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile executable $options] != "" } {
> +if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile executable {symtab}] != "" } {
>       untested "failed to compile"
>       return
>   }
> diff --git a/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp b/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
> index f85f7b19c34..b7e3a4df1a8 100644
> --- a/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
> +++ b/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
> @@ -288,7 +288,7 @@ if  { [gdb_compile ${asm_file} ${binfile}2.o object {}] != "" } {
>   }
>   
>   if  { [gdb_compile [list ${binfile}1.o ${binfile}2.o] ${binfile} \
> -	   executable {}] != "" } {
> +	   executable {symtab}] != "" } {
>       return
>   }
>   


  reply	other threads:[~2026-08-12 21:42 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-11  1:45 [PATCH 0/7] gdb_compile nodebug => symtab Pedro Alves
2026-08-11  1:45 ` [PATCH 1/7] gdb/testsuite: Don't build a program for cvexpr.exp's last tests Pedro Alves
2026-08-11  1:45 ` [PATCH 2/7] gdb/testsuite: Remove gdb_can_simple_compile_nodebug Pedro Alves
2026-08-11  1:45 ` [PATCH 3/7] gdb/testsuite: Let gdb_simple_compile take empty default flags Pedro Alves
2026-08-11  1:45 ` [PATCH 4/7] gdb/testsuite: Don't pass "nodebug" to object compilations Pedro Alves
2026-08-11  1:45 ` [PATCH 5/7] gdb/testsuite: Rename nodebug => symtab Pedro Alves
2026-08-11  1:45 ` [PATCH 6/7] gdb/testsuite: Pass "symtab" to testcases that rely on minsyms Pedro Alves
2026-08-12 21:41   ` Luis [this message]
2026-08-11  1:45 ` [PATCH 7/7] gdb/testsuite: Handle "symtab" option on windows-msvc Pedro Alves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d403c071-7ab5-4874-8790-a2a0eaf9288f@gmail.com \
    --to=luis.machado.foss@gmail.com \
    --cc=gdb-patches@sourceware.org \
    --cc=pedro@palves.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox