1 1.1 christos /* This testcase is part of GDB, the GNU debugger. 2 1.1 christos 3 1.1 christos Copyright 2009-2023 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 /* This is the value that all variables should have, here for convenience. */ 19 1.1 christos #define VALUE 1234567890 20 1.1 christos 21 1.1 christos /* These variables are here so that gcc adds them to the .symtab section 22 1.1 christos on its own, instead of needing the DWARF assembler. */ 23 1.1 christos int file_locno_resolvable = VALUE; 24 1.1 christos int file_locempty_resolvable = VALUE; 25 1.1 christos int file_locaddr_resolvable = VALUE; 26 1.1 christos int main_local_locno_resolvable = VALUE; 27 1.1 christos int main_local_locempty_resolvable = VALUE; 28 1.1 christos int main_local_locaddr_resolvable = VALUE; 29 1.1 christos /* Despite these variables being marked as external in the debuginfo, if 30 1.1 christos we do have them as external, the compiler won't add them to the .symtab 31 1.1 christos section. */ 32 1.1 christos /* extern */ int file_extern_locno_resolvable = VALUE; 33 1.1 christos /* extern */ int file_extern_locempty_resolvable = VALUE; 34 1.1 christos /* extern */ int file_extern_locaddr_resolvable = VALUE; 35 1.1 christos /* extern */ int main_extern_locno_resolvable = VALUE; 36 1.1 christos /* extern */ int main_extern_locempty_resolvable = VALUE; 37 1.1 christos /* extern */ int main_extern_locaddr_resolvable = VALUE; 38 1.1 christos 39 1.1 christos int 40 1.1 christos main (void) 41 1.1 christos { 42 1.1 christos asm ("main_label: .global main_label"); 43 1.1 christos return 0; /* main start */ 44 1.1 christos } 45