1 1.1.1.1.4.2 perseant /* This testcase is part of GDB, the GNU debugger. 2 1.1.1.1.4.2 perseant 3 1.1.1.1.4.2 perseant Copyright 2021-2023 Free Software Foundation, Inc. 4 1.1.1.1.4.2 perseant 5 1.1.1.1.4.2 perseant This program is free software; you can redistribute it and/or modify 6 1.1.1.1.4.2 perseant it under the terms of the GNU General Public License as published by 7 1.1.1.1.4.2 perseant the Free Software Foundation; either version 3 of the License, or 8 1.1.1.1.4.2 perseant (at your option) any later version. 9 1.1.1.1.4.2 perseant 10 1.1.1.1.4.2 perseant This program is distributed in the hope that it will be useful, 11 1.1.1.1.4.2 perseant but WITHOUT ANY WARRANTY; without even the implied warranty of 12 1.1.1.1.4.2 perseant MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 1.1.1.1.4.2 perseant GNU General Public License for more details. 14 1.1.1.1.4.2 perseant 15 1.1.1.1.4.2 perseant You should have received a copy of the GNU General Public License 16 1.1.1.1.4.2 perseant along with this program. If not, see <http://www.gnu.org/licenses/>. */ 17 1.1.1.1.4.2 perseant 18 1.1.1.1.4.2 perseant #include <unistd.h> 19 1.1.1.1.4.2 perseant 20 1.1.1.1.4.2 perseant static unsigned int global_counter = 1; 21 1.1.1.1.4.2 perseant 22 1.1.1.1.4.2 perseant static volatile unsigned int __attribute__((used)) global_var = 123; 23 1.1.1.1.4.2 perseant 24 1.1.1.1.4.2 perseant static void 25 1.1.1.1.4.2 perseant maybe_stop_here () 26 1.1.1.1.4.2 perseant { 27 1.1.1.1.4.2 perseant } 28 1.1.1.1.4.2 perseant 29 1.1.1.1.4.2 perseant int 30 1.1.1.1.4.2 perseant main (void) 31 1.1.1.1.4.2 perseant { 32 1.1.1.1.4.2 perseant global_counter = 1; 33 1.1.1.1.4.2 perseant 34 1.1.1.1.4.2 perseant while (global_counter > 0) 35 1.1.1.1.4.2 perseant { 36 1.1.1.1.4.2 perseant global_counter++; 37 1.1.1.1.4.2 perseant 38 1.1.1.1.4.2 perseant /* Less than 1s, so the counter increments at least once while 39 1.1.1.1.4.2 perseant the .exp sleep 1s, but slow enough that the counter doesn't 40 1.1.1.1.4.2 perseant wrap in 1s. */ 41 1.1.1.1.4.2 perseant usleep (5000); 42 1.1.1.1.4.2 perseant 43 1.1.1.1.4.2 perseant maybe_stop_here (); 44 1.1.1.1.4.2 perseant } 45 1.1.1.1.4.2 perseant 46 1.1.1.1.4.2 perseant return 0; 47 1.1.1.1.4.2 perseant } 48