X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=binutils%2Fsize.c;h=dcfd9547b25cdd58db890f9fe0dc9a3ba9228d89;hb=c68c16371639f360d1b110eacf4b1a28ddb5cf53;hp=415fee1011fabd11c1006cbc0fcadf85fd5eb3ea;hpb=14a9197011818108c904f8c8eb5fbba48f3cfd7d;p=deliverable%2Fbinutils-gdb.git diff --git a/binutils/size.c b/binutils/size.c index 415fee1011..dcfd9547b2 100644 --- a/binutils/size.c +++ b/binutils/size.c @@ -1,7 +1,5 @@ /* size.c -- report size of various sections of an executable file. - Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 - Free Software Foundation, Inc. + Copyright (C) 1991-2015 Free Software Foundation, Inc. This file is part of GNU Binutils. @@ -135,6 +133,7 @@ main (int argc, char **argv) program_name = *argv; xmalloc_set_program_name (program_name); + bfd_set_error_program_name (program_name); expandargv (&argc, &argv); @@ -273,7 +272,7 @@ calculate_common_size (bfd *abfd) if (storage < 0) bfd_fatal (bfd_get_filename (abfd)); if (storage) - syms = xmalloc (storage); + syms = (asymbol **) xmalloc (storage); symcount = bfd_canonicalize_symtab (abfd, syms); if (symcount < 0) @@ -367,7 +366,14 @@ display_archive (bfd *file) display_bfd (arfile); if (last_arfile != NULL) - bfd_close (last_arfile); + { + bfd_close (last_arfile); + + /* PR 17512: file: a244edbc. */ + if (last_arfile == arfile) + return; + } + last_arfile = arfile; }