Home | History | Annotate | Download | only in tests
      1 /* Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
      2 
      3    This program is Open Source software; you can redistribute it and/or
      4    modify it under the terms of the Open Software License version 1.0 as
      5    published by the Open Source Initiative.
      6 
      7    You should have received a copy of the Open Software License along
      8    with this program; if not, you may obtain a copy of the Open Software
      9    License version 1.0 from http://www.opensource.org/licenses/osl.php or
     10    by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
     11    3001 King Ranch Road, Ukiah, CA 95482.   */
     12 
     13 #include <assert.h>
     14 #include <fcntl.h>
     15 #include <libelf.h>
     16 #include <stdio.h>
     17 #include <stdlib.h>
     18 #include <unistd.h>
     19 
     20 
     21 int
     22 main (int argc, char *argv[])
     23 {
     24   Elf *elf;
     25   int fd;
     26   Elf_Scn *section;
     27 
     28   if (elf_version (EV_CURRENT) == EV_NONE)
     29     {
     30       fprintf (stderr, "library fd of date\n");
     31       exit (1);
     32     }
     33 
     34   char name[] = "test.XXXXXX";
     35   fd = mkstemp (name);
     36   if (fd < 0)
     37     {
     38       fprintf (stderr, "Failed to open fdput file: %s\n", name);
     39       exit (1);
     40     }
     41   unlink (name);
     42 
     43   elf = elf_begin (fd, ELF_C_WRITE, NULL);
     44   if (elf == NULL)
     45     {
     46       fprintf (stderr, "Failed to elf_begin fdput file: %s\n", name);
     47       exit (1);
     48     }
     49 
     50   section = elf_newscn (elf);
     51   section = elf_nextscn (elf, section);
     52   assert (section == NULL);
     53 
     54   elf_end (elf);
     55   close (fd);
     56 
     57   return 0;
     58 }
     59