1 /* This testcase is part of GDB, the GNU debugger. 2 3 Copyright 2011-2023 Free Software Foundation, Inc. 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 #include "trace-common.h" 19 20 int globvar; 21 22 static void 23 begin (void) 24 {} 25 26 static void 27 marker (int anarg) 28 { 29 FAST_TRACEPOINT_LABEL(set_point); 30 31 ++anarg; 32 33 /* Set up a known 4-byte instruction so we can try to set a shorter 34 fast tracepoint at it. */ 35 asm (" .global " SYMBOL(four_byter) "\n" 36 SYMBOL(four_byter) ":\n" 37 #if (defined __i386__) 38 " cmpl $0x1,0x8(%ebp) \n" 39 #endif 40 ); 41 } 42 43 static void 44 end (void) 45 {} 46 47 int 48 main () 49 { 50 begin (); 51 52 for (globvar = 1; globvar < 11; ++globvar) 53 { 54 marker (globvar * 100); 55 } 56 57 end (); 58 return 0; 59 } 60