Browse Source
binutils/ PR binutils/14481 * Makefile.am (BFDTEST1_PROG): New. (TEST_PROGS): Likewise. (bfdtest1_DEPENDENCIES): Likewise. (noinst_PROGRAMS): Add $(TEST_PROGS). * Makefile.in: Regenerated. * bfdtest1.c: New file. binutils/testsuite/ PR binutils/14481 * ar.exp (bfdtest1): New. (long_filenames): Run bfdtest1. (thin_archive): Likewise. (thin_archive_with_nested): Likewise.gdb_7_6-branch
6 changed files with 143 additions and 9 deletions
@ -0,0 +1,68 @@ |
|||
/* A program to test BFD.
|
|||
Copyright 2012 Free Software Foundation, Inc. |
|||
|
|||
This file is part of the GNU Binutils. |
|||
|
|||
This program is free software; you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation; either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
This program is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with this program; if not, write to the Free Software |
|||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, |
|||
MA 02110-1301, USA. */ |
|||
|
|||
#include "sysdep.h" |
|||
#include "bfd.h" |
|||
|
|||
static void |
|||
die (const char *s) |
|||
{ |
|||
printf ("oops: %s\n", s); |
|||
exit (1); |
|||
} |
|||
|
|||
int |
|||
main (int argc, char **argv) |
|||
{ |
|||
bfd *archive; |
|||
bfd *last, *next; |
|||
|
|||
if (argc != 2) |
|||
die ("bad usage"); |
|||
|
|||
archive = bfd_openr (argv[1], NULL); |
|||
|
|||
if (!bfd_check_format (archive, bfd_archive)) |
|||
{ |
|||
bfd_close (archive); |
|||
die ("bfd_check_format"); |
|||
} |
|||
|
|||
for (last = bfd_openr_next_archived_file (archive, NULL); |
|||
last; |
|||
last = next) |
|||
{ |
|||
next = bfd_openr_next_archived_file (archive, last); |
|||
bfd_close (last); |
|||
} |
|||
|
|||
for (last = bfd_openr_next_archived_file (archive, NULL); |
|||
last; |
|||
last = next) |
|||
{ |
|||
next = bfd_openr_next_archived_file (archive, last); |
|||
bfd_close (last); |
|||
} |
|||
|
|||
if (!bfd_close (archive)) |
|||
die ("bfd_close"); |
|||
|
|||
return 0; |
|||
} |
|||
Loading…
Reference in new issue