]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.threads/watchpoint-fork-st.c
Update copyright year range in all GDB files.
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.threads / watchpoint-fork-st.c
1 /* Test case for forgotten hw-watchpoints after fork()-off of a process.
2
3 Copyright 2012-2019 Free Software Foundation, Inc.
4
5 This file is part of GDB.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, see <http://www.gnu.org/licenses/>. */
19
20 #include "watchpoint-fork.h"
21
22 #include <assert.h>
23 #include <unistd.h>
24 #include <sys/wait.h>
25 #include <stdio.h>
26 #include <stdlib.h>
27
28 volatile int var;
29
30 void
31 marker (void)
32 {
33 }
34
35 static void
36 mark_exit (void)
37 {
38 }
39
40 int
41 main (void)
42 {
43 setbuf (stdout, NULL);
44 printf ("main: %d\n", (int) getpid ());
45
46 /* General hardware breakpoints and watchpoints validity. */
47 marker ();
48 var++;
49 /* Hardware watchpoints got disarmed here. */
50 forkoff (1);
51 /* This watchpoint got lost before. */
52 var++;
53 /* A sanity check for double hardware watchpoints removal. */
54 forkoff (2);
55 var++;
56
57 mark_exit ();
58 return 0;
59 }