[gdb/testsuite] Fix gdb.go/methods.exp

Message ID d82afc5a-6119-ef2e-4bbf-35b6d68bc063@suse.de
State New, archived
Headers

Commit Message

Tom de Vries Feb. 25, 2020, 7:24 a.m. UTC
  [Fix ENOPATCH]

On 25-02-2020 08:23, Tom de Vries wrote:
> On 21-02-2020 19:36, Tom Tromey wrote:
>>>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:
>>
>> Tom> I managed using maintenance print symbols.
>>
>> Tom> OK for trunk like this?
>>
>> Yes, thank you.
>>
> 
> The gcc PR for which I added the xfail was closed, so this updates the
> gdb test-case.
> 
> Committed as obvious.
>
  

Comments

Tom Tromey Feb. 25, 2020, 1:06 p.m. UTC | #1
>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:

Tom> 2020-02-25  Tom de Vries  <tdevries@suse.de>

Tom> 	PR go/18926
Tom> 	* gdb.go/methods.exp: Remove gcc/93866 xfail.

Thanks, looks good to me.

Tom
  

Patch

[gdb/testsuite] Remove gcc/93866 xfail in methods.exp

The test-case gdb.go/methods.exp contains an xfail for PR gcc/93866.

However, that PR has been marked resolved-wontfix, with clarification that the
gccgo symbol names for methods are correct, even if they're not the same as
for gc.

Remove the xfail.

Tested on x86_64-linux with gccgo-10.

gdb/testsuite/ChangeLog:

2020-02-25  Tom de Vries  <tdevries@suse.de>

	PR go/18926
	* gdb.go/methods.exp: Remove gcc/93866 xfail.

---
 gdb/testsuite/gdb.go/methods.exp | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/gdb/testsuite/gdb.go/methods.exp b/gdb/testsuite/gdb.go/methods.exp
index b24ee14cf2..068212044c 100644
--- a/gdb/testsuite/gdb.go/methods.exp
+++ b/gdb/testsuite/gdb.go/methods.exp
@@ -29,8 +29,7 @@  if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {debug go}]
 }
 
 set bp_location1 {main.T.Foo}
-set bp_location2 {main.(*T).Bar}
-set bp_location2_regexp {main.\(\*T\).Bar}
+set bp_location2 {main.T.Bar}
 
 if { [go_runto_main] < 0 } {
     untested "could not run to main"
@@ -49,7 +48,6 @@  gdb_test_multiple "maintenance print symbols" "" {
 	exp_continue
     }
     -re "^\r\n void main.T.Bar\[^\r\n\]*(?=\r\n)" {
-	set found_wrong_bar 2
 	exp_continue
     }
     -re "\r\n$gdb_prompt $" {
@@ -86,20 +84,21 @@  if { $found_wrong_bar == 1 } {
     # <1><528>: Abbrev Number: 19 (DW_TAG_subprogram)
     # <529>   DW_AT_name        : main.Bar.pN6_main.T
     setup_xfail "*-*-*"
-} elseif { $found_wrong_bar == 2 } {
+} else {
     # We have with gccgo-8/9/10:
     # <1><6e4>: Abbrev Number: 24 (DW_TAG_subprogram)
     #    <6e5>   DW_AT_name        : main.Bar..1main.T
     #    <6ec>   DW_AT_linkage_name: main.T.Bar
-    # xfail for GCC PR93866
-    setup_xfail "*-*-*"
-} else {
+
     # For reference: with go1.11.13:
     # <1><6c49a>: Abbrev Number: 2 (DW_TAG_subprogram)
     #    <6c49b>   DW_AT_name        : main.(*T).Bar
- }
+
+    # It has been clarified in PR gcc/93866 that it's ok that symbols names
+    # diverge between gc and gccgo.  So, we accept the main.T.Bar as valid.
+}
 
 if { [gdb_breakpoint ${bp_location2} message] } {
-    gdb_test "cont" "Breakpoint .*, ${bp_location2_regexp}.*" \
+    gdb_test "cont" "Breakpoint .*, ${bp_location2}.*" \
 	"going to second breakpoint"
 }