daily update
[deliverable/binutils-gdb.git] / binutils / size.c
index aeb7994b6bf544d46f4601894ada902d71d37dbe..f83b050506b8e0f34b7f9c4767d14c0b4ec68763 100644 (file)
@@ -1,6 +1,6 @@
 /* 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 Free Software Foundation, Inc.
+   Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+   2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 
    This file is part of GNU Binutils.
 
@@ -16,7 +16,7 @@
 
    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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
 \f
 /* Extensions/incompatibilities:
    o - BSD output has filenames at the end.
    If you write shell scripts which manipulate this info then you may be
    out of luck; there's no --compatibility or --pedantic option.  */
 
+#include "sysdep.h"
 #include "bfd.h"
-#include "bucomm.h"
 #include "libiberty.h"
 #include "getopt.h"
+#include "bucomm.h"
 
 #ifndef BSD_DEFAULT
 #define BSD_DEFAULT 1
@@ -45,7 +46,9 @@ enum
   }
 radix = decimal;
 
-int berkeley_format = BSD_DEFAULT;     /* 0 means use AT&T-style output.  */
+/* 0 means use AT&T-style output.  */
+static int berkeley_format = BSD_DEFAULT;
+
 int show_version = 0;
 int show_help = 0;
 int show_totals = 0;
@@ -85,6 +88,7 @@ usage (FILE *stream, int status)
   -o|-d|-x  --radix={8|10|16}         Display numbers in octal, decimal or hex\n\
   -t        --totals                  Display the total sizes (Berkeley only)\n\
             --target=<bfdname>        Set the binary file format\n\
+            @<file>                   Read options from <file>\n\
   -h        --help                    Display this information\n\
   -v        --version                 Display the program's version\n\
 \n"),
@@ -95,12 +99,12 @@ usage (FILE *stream, int status)
 #endif
 );
   list_supported_targets (program_name, stream);
-  if (status == 0)
+  if (REPORT_BUGS_TO[0] && status == 0)
     fprintf (stream, _("Report bugs to %s\n"), REPORT_BUGS_TO);
   exit (status);
 }
 
-struct option long_options[] =
+static struct option long_options[] =
 {
   {"format", required_argument, 0, 200},
   {"radix", required_argument, 0, 201},
@@ -131,6 +135,8 @@ main (int argc, char **argv)
   program_name = *argv;
   xmalloc_set_program_name (program_name);
 
+  expandargv (&argc, &argv);
+
   bfd_init ();
   set_default_bfd_target ();
 
@@ -341,7 +347,10 @@ display_file (char *filename)
   bfd *file;
 
   if (get_file_size (filename) < 1)
-    return;
+    {
+      return_code = 1;
+      return;
+    }
 
   file = bfd_openr (filename, target);
   if (file == NULL)
This page took 0.030606 seconds and 4 git commands to generate.