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