diff options
author | Tom de Vries <tdevries@suse.de> | 2021-11-10 12:55:55 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2021-11-10 12:55:55 +0100 |
commit | 7cfa8d93cbbe16424fe2190cb3d27fc94c59f39b (patch) | |
tree | 8beebb6ce09b46ff4ca0a4e0ad3f7be956b4602f /gdb/testsuite/gdb.opt/break-on-_exit.c | |
parent | 1ee4d0e313e974131dbe2b59f4b0aa0108a6ef08 (diff) | |
download | gdb-7cfa8d93cbbe16424fe2190cb3d27fc94c59f39b.zip gdb-7cfa8d93cbbe16424fe2190cb3d27fc94c59f39b.tar.gz gdb-7cfa8d93cbbe16424fe2190cb3d27fc94c59f39b.tar.bz2 |
[gdb/testsuite] Add gdb.opt/break-on-_exit.exp
Add a test-case to excercise the problem scenario reported in PR28527 and
fixed in commit a50bdb99afe "[gdb/tdep, rs6000] Don't skip system call in
skip_prologue":
- set a breakpoint on _exit, and
- verify that it triggers.
Note that this is not a regression test for that commit. Since the actual
code in _exit may vary across os instances, we cannot guarantee that the
problem will always trigger with this test-case.
Rather, this test-case is a version of the original test-case
(gdb.threads/process-dies-while-detaching.exp) that is minimal while still
reproducing the problem reported in PR28527, in that same setting.
The benefit of this test-case is that it exercise real-life code and may
expose similar problems in other settings. Also, it provides a much easier
test-case to investigate in case a similar problem occurs.
Tested on x86_64-linux and ppc64le-linux.
Diffstat (limited to 'gdb/testsuite/gdb.opt/break-on-_exit.c')
-rw-r--r-- | gdb/testsuite/gdb.opt/break-on-_exit.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.opt/break-on-_exit.c b/gdb/testsuite/gdb.opt/break-on-_exit.c new file mode 100644 index 0000000..d8da661 --- /dev/null +++ b/gdb/testsuite/gdb.opt/break-on-_exit.c @@ -0,0 +1,26 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2021 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/>. */ + +#include <unistd.h> + +int +main (void) +{ + _exit (0); + + return 0; +} |