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