diff options
author | Pedro Alves <palves@redhat.com> | 2018-01-12 18:59:40 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2018-01-12 18:59:40 +0000 |
commit | 1d17025506de70cb1d9d5b7a5654e40ce689bf26 (patch) | |
tree | 7abb445fe8671f8003a4c57333c49b545c159e88 /gdb/testsuite/gdb.base/continue-after-aborted-step-over.c | |
parent | a09f837ae221977eec50cc2ded12bd765b3b634a (diff) |
Add testcase for GDB hang fixed by previous commit
This adds a testcase for the previous commit. The regression was
related to in-line step overs. The reason we didn't see it on native
x86-64/s390 GNU/Linux testing is that native debugging uses displaced
stepping by default (because native debugging defaults to "maint set
target-non-stop on"), unlike remote debugging.
So in order to trigger the bug with native debugging as well, the
testcase disables displaced stepping explicitly.
Also, instead of using watchpoints to trigger the regression, the
testcase uses a breakpoint at address 0, which should be more
portable.
gdb/testsuite/ChangeLog:
2018-01-12 Pedro Alves <palves@redhat.com>
* gdb.base/continue-after-aborted-step-over.c: New.
* gdb.base/continue-after-aborted-step-over.exp: New.
Diffstat (limited to 'gdb/testsuite/gdb.base/continue-after-aborted-step-over.c')
-rw-r--r-- | gdb/testsuite/gdb.base/continue-after-aborted-step-over.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/continue-after-aborted-step-over.c b/gdb/testsuite/gdb.base/continue-after-aborted-step-over.c new file mode 100644 index 0000000000..7252648084 --- /dev/null +++ b/gdb/testsuite/gdb.base/continue-after-aborted-step-over.c @@ -0,0 +1,29 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2018 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +void +function (void) +{ +} + +int +main () +{ + function (); + + return 0; +} |