Home | History | Annotate | Line # | Download | only in gdb.dwarf2
dw2-noloc.c revision 1.1.1.1
      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