Home | History | Annotate | Line # | Download | only in gdb.base
      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