Re: [commit+7.5] [patchv2] Write bpt at the ON_STACK bpt address

Edjunior Barbosa Machado
2012-08-03T15:02:33Z

On 08/03/2012 11:30 AM, Jan Kratochvil wrote:
> On Fri, 03 Aug 2012 16:22:47 +0200, Tom Tromey wrote:
>>>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:
>>
>> Pedro> Curious. But is the cause the same? If something sending C-c to gdb
>> Pedro> at the "wrong" time?
>>
>> It could be any exception thrown at the wrong spot in any sniffer.
>> It would be interesting to know exactly where the original exception is
>> thrown. I am still not sure that my fix is the correct one. Maybe it
>> really is better to fix the sniffers. Or maybe do both.
>
> Yes, IMO it would be better. During the sniffers entryval virtual tailcall
> frames path evaluation gets in effect which heavily throws exceptions and
> successfully TRY_CATCHes them. I am not aware of any problem there, just the
> exceptions are common nowadays due to it during unwinding.
>
>
> Thanks,
> Jan
>

Hi,
the patch below aborts the testcase if vgdb remote connection is closed, avoiding the testsuite to get stuck in the `continue' loop that happens when occurs the internal-error. It also considers the leading `.' for _start(), which is expected in ppc64.

Ok?

Thanks,
--
Edjunior

gdb/testsuite/
2012-08-03 Edjunior Machado <emachado@linux.vnet.ibm.com>

* gdb.base/valgrind-infcall.exp: Expect leading `.' on ppc64's
symbols. Abort if vgdb remote connection is closed.

diff --git a/gdb/testsuite/gdb.base/valgrind-infcall.exp b/gdb/testsuite/gdb.base/valgrind-infcall.exp
index f2aa1ad..5faa8c8 100644
--- a/gdb/testsuite/gdb.base/valgrind-infcall.exp
+++ b/gdb/testsuite/gdb.base/valgrind-infcall.exp
@@ -85,7 +85,7 @@ unset_board_info fileid

clean_restart $executable

-gdb_test "$vgdbcmd" " in _start .*" "target remote for vgdb"
+gdb_test "$vgdbcmd" " in \\.?_start .*" "target remote for vgdb"

gdb_test "monitor v.set gdb_output" "valgrind output will go to gdb.*"

@@ -97,6 +97,10 @@ while 1 {
pass $test
break
}
+ -re "Remote connection closed.*\r\n$gdb_prompt $" {
+ fail "Remote connection closed. Testcase aborted"
+ return -1
+ }
-re "\r\n$gdb_prompt $" {
pass "$test (false warning)"
}