/* Testcase for the find command. This testcase is part of GDB, the GNU debugger. Copyright 2008-2020 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Please email any bugs, comments, and/or additions to this file to: bug-gdb@gnu.org */ #include <stdlib.h> #include <stdint.h> /* According to C99 <stdint.h> has to provide these identifiers as types, but is also free to define macros shadowing the typedefs. This is the case with some C library implementations. Undefine them to make sure the types are used and included in debug output. */ #undef int8_t #undef int16_t #undef int32_t #undef int64_t #define CHUNK_SIZE 16000 /* same as findcmd.c's */ #define BUF_SIZE (2 * CHUNK_SIZE) /* at least two chunks */ static int8_t int8_search_buf[100]; static int16_t int16_search_buf[100]; static int32_t int32_search_buf[100]; static int64_t int64_search_buf[100]; static char *search_buf; static int search_buf_size; static int x; static void stop_here () { x = 1; // stop here } static void init_bufs () { search_buf_size = BUF_SIZE; search_buf = malloc (search_buf_size); if (search_buf == NULL) exit (1); memset (search_buf, 'x', search_buf_size); } int main () { init_bufs (); stop_here (); /* Reference variables. */ x = int8_search_buf[0]; x = int16_search_buf[0]; x = int32_search_buf[0]; x = int64_search_buf[0]; return 0; } |