1 /* Copyright 2022-2024 Free Software Foundation, Inc. 2 3 This file is part of GDB. 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 17 18 /* A function that segfaults (assuming that reads of address zero are 19 prohibited), this is used from within a breakpoint condition. */ 20 int 21 func_segfault () 22 { 23 volatile int *p = 0; 24 return *p; /* Segfault here. */ 25 } 26 27 /* A function in which we will place a breakpoint. This function is itself 28 then used from within a breakpoint condition. */ 29 int 30 func_bp () 31 { 32 int res = 0; /* Second breakpoint. */ 33 return res; 34 } 35 36 int 37 foo () 38 { 39 return 0; /* First breakpoint. */ 40 } 41 42 int 43 main () 44 { 45 int res = foo (); 46 47 return res; 48 } 49