Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom de Vries <tdevries@suse.de>
To: gdb-patches@sourceware.org
Subject: [committed][gdb/testsuite] Make gdb.arch/amd64-gs_base.exp unsupported for i386
Date: Fri, 4 Dec 2020 13:38:34 +0100	[thread overview]
Message-ID: <20201204123832.GA4805@delia> (raw)

Hi,

With target board unix/-m32 I run into:
...
(gdb) print /x $fs_base^M
$1 = void^M
(gdb) FAIL: gdb.arch/amd64-gs_base.exp: print fs_base
...

The problem is that the fs_base register is not supported for i386.

Fix this by making the test unsupported if fs_base/gs_base don't show up in
info register sys output.

Tested on x86_64-linux.

Committed to trunk.

Thanks,
- Tom

[gdb/testsuite] Make gdb.arch/amd64-gs_base.exp unsupported for i386

gdb/testsuite/ChangeLog:

2020-12-03  Tom de Vries  <tdevries@suse.de>

	PR testsuite/26990
	* gdb.arch/amd64-gs_base.exp: Handle -m32 where fs_base and gs_base
	are unsupported.

---
 gdb/testsuite/gdb.arch/amd64-gs_base.exp | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/gdb/testsuite/gdb.arch/amd64-gs_base.exp b/gdb/testsuite/gdb.arch/amd64-gs_base.exp
index 3e14031d2d..d29043bb79 100644
--- a/gdb/testsuite/gdb.arch/amd64-gs_base.exp
+++ b/gdb/testsuite/gdb.arch/amd64-gs_base.exp
@@ -30,6 +30,31 @@ if ![runto_main] {
     return -1
 }
 
+# Test the presence of fs_base and gs_base on the system
+# register group and values.
+#
+set ws "\[\t \]+"
+set info_reg_out [multi_line "info register sys" \
+          "fs_base${ws}$hex${ws}$decimal"\
+          "gs_base${ws}$hex${ws}$decimal"\
+          "orig_rax${ws}$hex${ws}\[-\]$decimal" ]
+set info_reg_out_m32 [multi_line "info register sys" \
+          "orig_eax${ws}$hex${ws}\[-\]$decimal" ]
+
+set supported 0
+gdb_test_multiple "info register sys" "" {
+    -re -wrap $info_reg_out {
+	set supported 1
+    }
+    -re -wrap $info_reg_out_m32 {
+    }
+}
+
+if { ! $supported } {
+    unsupported "target does not support fs_base and gs_base"
+    return -1
+}
+
 gdb_test "print /x \$fs_base" "= $hex" "print fs_base"
 gdb_test "print /x \$gs_base" "= $hex" "print gs_base"
 
@@ -39,7 +64,6 @@ gdb_test "print \$gs_base = 3" "= 3" "set gs_base"
 # Test the presence of fs_base and gs_base on the system
 # register group and values.
 #
-set ws "\[\t \]+"
 set info_reg_out [multi_line "info register sys" \
           "fs_base${ws}0x2${ws}2"\
           "gs_base${ws}0x3${ws}3"\

             reply	other threads:[~2020-12-04 12:38 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-04 12:38 Tom de Vries [this message]
2020-12-04 18:57 ` Pedro Alves
2020-12-08  8:20   ` Tom de Vries

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=20201204123832.GA4805@delia \
    --to=tdevries@suse.de \
    --cc=gdb-patches@sourceware.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