Home | History | Annotate | Download | only in tests
      1 /* Copyright (C) 2011 Red Hat, Inc.
      2    This file is part of elfutils.
      3 
      4    This file is free software; you can redistribute it and/or modify
      5    it under the terms of the GNU General Public License as published by
      6    the Free Software Foundation; either version 3 of the License, or
      7    (at your option) any later version.
      8 
      9    elfutils is distributed in the hope that it will be useful, but
     10    WITHOUT ANY WARRANTY; without even the implied warranty of
     11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     12    GNU General Public License for more details.
     13 
     14    You should have received a copy of the GNU General Public License
     15    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
     16 
     17 #include <config.h>
     18 
     19 #include ELFUTILS_HEADER(dw)
     20 #include <fcntl.h>
     21 #include <stdio.h>
     22 #include <string.h>
     23 #include <assert.h>
     24 
     25 int
     26 main (int argc, char **argv)
     27 {
     28   assert (argc > 1);
     29 
     30   int i = open (argv[1], O_RDONLY);
     31   assert (i >= 0);
     32 
     33   Dwarf *dw = dwarf_begin (i, DWARF_C_READ);
     34   assert (dw != NULL);
     35 
     36   Dwarf_Die die_mem, *die;
     37   die = dwarf_offdie (dw, 11, &die_mem);
     38   assert (die == &die_mem);
     39   assert (dwarf_tag (die) == 0);
     40 
     41   die = dwarf_offdie (dw, 11, &die_mem);
     42   assert (die == &die_mem);
     43   assert (dwarf_tag (die) == 0);
     44 
     45   dwarf_end (dw);
     46   return 0;
     47 }
     48