Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom de Vries <tdevries@suse.de>
To: Luis Machado <luis.machado@linaro.org>, gdb-patches@sourceware.org
Subject: [PATCH][gdb/testsuite] Handle early_flags in gdb_default_target_compile
Date: Mon, 29 Jun 2020 16:31:46 +0200	[thread overview]
Message-ID: <6100c6f4-dfc9-26d1-c053-a9bd2995c1be@suse.de> (raw)
In-Reply-To: <fbd350f7-bcdd-5d03-1f64-f011a7e9fa15@linaro.org>

[-- Attachment #1: Type: text/plain, Size: 1140 bytes --]

[ was: Re: [PATCH][gdb/testsuite] Limit default_target_compile override ]
On 6/22/20 11:34 PM, Luis Machado wrote:
> Hi,
> 
> This commit seems to have caused a few regressions for aarch64-linux:
> 
> -# of expected passes        75098
> -# of unexpected failures    63
> -# of expected failures        114
> +# of expected passes        75036
> +# of unexpected failures    149
> +# of expected failures        111
> 
> They are distributed across a few different tests:
> 
> gdb.base/display.exp
> gdb.base/jit-reader-simple.exp
> gdb.base/shlib-call.exp
> gdb.base/solib-weak.exp
> gdb.base/step-test.exp
> gdb.base/store.exp
> gdb.base/type-opaque.exp
> gdb.cp/ovldbreak.exp
> gdb.multi/multi-target.exp
> gdb.reverse/step-precsave.exp
> gdb.reverse/step-reverse.exp
> 
> It seems mostly related to missing options in the compilation line. For
> example, display.exp is missing -fno-stack-protector, which leads to a
> different source stepping pattern than the test is actually expecting.
> 

Hi Luis,

thanks for reporting this.

This should be fixed by attached patch.

Any comments?

Thanks,
- Tom

[-- Attachment #2: 0001-gdb-testsuite-Handle-early_flags-in-gdb_default_target_compile.patch --]
[-- Type: text/x-patch, Size: 2048 bytes --]

[gdb/testsuite] Handle early_flags in gdb_default_target_compile

In gdb_default_target_compile, we use dejagnu's default_target_compile, unless
we need support for languages that are not yet support in the used dejagnu
version, in which case we use a local default_target_compile:
gdb_default_target_compile_1.

However, there's another reason to use the local default_target_compile: when
early_flags is used, because there's no dejagnu release available yet
supporting this.

Fix this by detecting and handling early_flags in gdb_default_target_compile.

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

2020-06-29  Tom de Vries  <tdevries@suse.de>

	PR testsuite/26175
	* lib/future.exp (gdb_default_target_compile): Detect and handle
	early_flags.

---
 gdb/testsuite/lib/future.exp | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/gdb/testsuite/lib/future.exp b/gdb/testsuite/lib/future.exp
index ba00a31c19..1aabbe3233 100644
--- a/gdb/testsuite/lib/future.exp
+++ b/gdb/testsuite/lib/future.exp
@@ -634,25 +634,28 @@ proc gdb_default_target_compile_1 {source destfile type options} {
 proc gdb_default_target_compile {source destfile type options} {
     global use_gdb_compile
 
-    set need_local 0
+    set need_local_lang 0
+    set need_local_early_flags 0
     foreach i $options {
 
 	if { $i == "ada" || $i == "d" || $i == "go" || $i == "rust" } {
-	    set need_local [info exists use_gdb_compile($i)]
-	    break
+	    set need_local_lang [info exists use_gdb_compile($i)]
 	}
 
 	if { $i == "c++" } {
-	    break
+	    set need_local_lang 0
 	}
 
 	if { $i == "f77" || $i == "f90" } {
-	    set need_local [info exists use_gdb_compile(fortran)]
-	    break
+	    set need_local_lang [info exists use_gdb_compile(fortran)]
+	}
+
+        if { [regexp "^early_flags=" $i] } {
+	    set need_local_early_flags 1
 	}
     }
 
-    if { $need_local } {
+    if { $need_local_lang || $need_local_early_flags } {
 	return [gdb_default_target_compile_1 $source $destfile $type $options]
     }
 

  parent reply	other threads:[~2020-06-29 14:31 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-19 12:10 [PATCH][gdb/testsuite] Limit default_target_compile override Tom de Vries
2020-06-19 14:18 ` Tom de Vries
2020-06-19 15:46 ` Tom Tromey
2020-06-22 21:34 ` Luis Machado
2020-06-26 11:35   ` Luis Machado
2020-06-29 14:31   ` Tom de Vries [this message]
2020-06-29 15:24     ` [PATCH][gdb/testsuite] Handle early_flags in gdb_default_target_compile Aktemur, Tankut Baris

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=6100c6f4-dfc9-26d1-c053-a9bd2995c1be@suse.de \
    --to=tdevries@suse.de \
    --cc=gdb-patches@sourceware.org \
    --cc=luis.machado@linaro.org \
    /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