These two failures still haven't gotten attention. Filing this for reference sake. FAIL: gdb.go/methods.exp: setting breakpoint at main.T.Foo FAIL: gdb.go/methods.exp: setting breakpoint at (*main.T).Bar
The master branch has been updated by Tom de Vries <vries@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=755251522afd2f33de7e64f8a30ddd732f30b2de commit 755251522afd2f33de7e64f8a30ddd732f30b2de Author: Tom de Vries <tdevries@suse.de> Date: Fri Feb 21 20:47:28 2020 +0100 [gdb/testsuite] Fix gdb.go/methods.exp With gccgo-6/7, we have: ... FAIL: gdb.go/methods.exp: setting breakpoint at main.T.Foo XFAIL: gdb.go/methods.exp: going to first breakpoint \ (the program exited) FAIL: gdb.go/methods.exp: setting breakpoint at (*main.T).Bar XFAIL: gdb.go/methods.exp: going to second breakpoint \ (the program is no longer running) ... And with gccgo-8/9/10, we have: ... PASS: gdb.go/methods.exp: setting breakpoint 1 XFAIL: gdb.go/methods.exp: going to first breakpoint FAIL: gdb.go/methods.exp: setting breakpoint at (*main.T).Bar XFAIL: gdb.go/methods.exp: going to second breakpoint \ (the program exited) ... The first test passes and fails with different messages: ... FAIL: gdb.go/methods.exp: setting breakpoint at main.T.Foo ... or: ... PASS: gdb.go/methods.exp: setting breakpoint 1 ... Fix this by removing the explicit pass call and using the message argument for gdb_breakpoint, for both breakpoint locations. The setup of the xfails is non-specific: ... setup_xfail "*-*-*" ;# mangling issues IIRC ... so let's start with removing these. The first FAIL with gccgo-6: ... FAIL: gdb.go/methods.exp: setting breakpoint at main.T.Foo ... is due an incorrect DW_AT_name attribute: ... # <554> DW_AT_name : main.Foo.N6_main.T ... Fix this by recognizing the incorrect attribute, and xfailing the test. Furthermore, if setting the breakpoint fails, there's not much point in trying to continue to the breakpoint: ... FAIL: gdb.go/methods.exp: setting breakpoint at main.T.Foo FAIL: gdb.go/methods.exp: going to first breakpoint (the program exited) ... Fix this by skipping the second test if the first one fails, also for the second breakpoint. With gccgo-10, we manage to set the first breakpoint, but continuing to breakpoint test fails: ... PASS: gdb.go/methods.exp: setting breakpoint 1 FAIL: gdb.go/methods.exp: going to first breakpoint ... This is due to an incorrect regexp, requiring a colon in front of the breakpoint location. Fix this for both breakpoints. Setting the second breakpoint fails: ... FAIL: gdb.go/methods.exp: setting breakpoint at (*main.T).Bar ... presumably because the breakpoint location "(*main.T).Bar" does not follow the naming convention explained at https://golang.org/doc/gdb#Naming. Fix this by updating the breakpoint location to "main.(*T).Bar". Still this test fails, for gccgo-6/7 because of an incorrect DW_AT_name attribute: ... # <529> DW_AT_name : main.Bar.pN6_main.T ... and for gccgo-8/9/10 because of incorrect DW_AT_name/DW_AT_linkage_name attributes (filed as gcc PR93866): ... # <6e5> DW_AT_name : main.Bar..1main.T # <6ec> DW_AT_linkage_name: main.T.Bar .. Add xfails for both of these. All in all, now we have with gccgo-6/7: ... XFAIL: gdb.go/methods.exp: setting breakpoint at main.T.Foo XFAIL: gdb.go/methods.exp: setting breakpoint at main.(*T).Bar ... and with gccgo-8/9/10, we have: ... PASS: gdb.go/methods.exp: setting breakpoint at main.T.Foo PASS: gdb.go/methods.exp: going to first breakpoint XFAIL: gdb.go/methods.exp: setting breakpoint at main.(*T).Bar ... Tested on x86_64-linux with gccgo-6/7/8/9/10. gdb/testsuite/ChangeLog: 2020-02-21 Tom de Vries <tdevries@suse.de> PR go/18926 * lib/gdb.exp (bp_location2/bp_location2_regexp): Fix. Remove blanket xfails. Use message argument for gdb_breakpoint. Make continuing to breakpoint test conditional on setting breakpoint. Fix continuing to breakpoint regexp. Add xfails for gccgo-6/7 DW_AT_name attribute. Add xfail for GCC PR93866.
The master branch has been updated by Tom de Vries <vries@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=70d497007d097a68cbd5e78104619f4f88a09838 commit 70d497007d097a68cbd5e78104619f4f88a09838 Author: Tom de Vries <tdevries@suse.de> Date: Tue Feb 25 08:14:41 2020 +0100 [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.