# size

## NAME



           size - list section sizes and total size of binary files
    


## SYNOPSIS



           size [**-A** |**-B** |**-G** |**--format=**_compatibility_]
                [**--help**]
                [**-d** |**-o** |**-x** |**--radix=**_number_]
                [**--common**]
                [**-t** |**--totals**]
                [**--target=**_bfdname_] [**-V** |**--version**]
                [**-f**]
                [_objfile_...]
    


## DESCRIPTION



           The GNU **size** utility lists the section sizes and the total size
           for each of the binary files _objfile_ on its argument list.  By
           default, one line of output is generated for each file or each
           module if the file is an archive.
    
           _objfile_... are the files to be examined.  If none are specified,
           the file "a.out" will be used instead.
    


## OPTIONS



           The command-line options have the following meanings:
    
           **-A**
           **-B**
           **-G**
           **--format=**_compatibility_
               Using one of these options, you can choose whether the output
               from GNU **size** resembles output from System V **size**(using **-A** ,
               or **--format=sysv**), or Berkeley **size**(using **-B** , or
               **--format=berkeley**).  The default is the one-line format
               similar to Berkeley's.  Alternatively, you can choose the GNU
               format output (using **-G** , or **--format=gnu**), this is similar to
               Berkeley's output format, but sizes are counted differently.
    
               Here is an example of the Berkeley (default) format of output
               from **size** :
    
                       $ size --format=Berkeley ranlib size
                          text    data     bss     dec     hex filename
                        294880   81920   11592  388392   5ed28 ranlib
                        294880   81920   11888  388688   5ee50 size
    
               The Berkeley style output counts read only data in the "text"
               column, not in the "data" column, the "dec" and "hex" columns
               both display the sum of the "text", "data", and "bss" columns
               in decimal and hexadecimal respectively.
    
               The GNU format counts read only data in the "data" column, not
               the "text" column, and only displays the sum of the "text",
               "data", and "bss" columns once, in the "total" column.  The
               **--radix** option can be used to change the number base for all
               columns.  Here is the same data displayed with GNU
               conventions:
    
                       $ size --format=GNU ranlib size
                             text       data        bss      total filename
                           279880      96920      11592     388392 ranlib
                           279880      96920      11888     388688 size
    
               This is the same data, but displayed closer to System V
               conventions:
    
                       $ size --format=SysV ranlib size
                       ranlib  :
                       section         size         addr
                       .text         294880         8192
                       .data          81920       303104
                       .bss           11592       385024
                       Total         388392
    
                       size  :
                       section         size         addr
                       .text         294880         8192
                       .data          81920       303104
                       .bss           11888       385024
                       Total         388688
    
           **--help**
           **-h**
           **-H**
           **-?** Show a summary of acceptable arguments and options.
    
           **-d**
           **-o**
           **-x**
           **--radix=**_number_
               Using one of these options, you can control whether the size
               of each section is given in decimal (**-d** , or **--radix=10**); octal
               (**-o** , or **--radix=8**); or hexadecimal (**-x** , or **--radix=16**).  In
               **--radix=**_number_ , only the three values (8, 10, 16) are
               supported.  The total size is always given in two radices;
               decimal and hexadecimal for **-d** or **-x** output, or octal and
               hexadecimal if you're using **-o**.
    
           **--common**
               Print total size of common symbols in each file.  When using
               Berkeley or GNU format these are included in the bss size.
    
           **-t**
           **--totals**
               Show totals of all objects listed (Berkeley or GNU format mode
               only).
    
           **--target=**_bfdname_
               Specify that the object-code format for _objfile_ is _bfdname_.
               This option may not be necessary; **size** can automatically
               recognize many formats.
    
           **-v**
           **-V**
           **--version**
               Display the version number of **size**.
    
           **-f** Ignored.  This option is used by other versions of the **size**
               program, but it is not supported by the GNU Binutils version.
    
           **@**_file_
               Read command-line options from _file_.  The options read are
               inserted in place of the original @_file_ option.  If _file_ does
               not exist, or cannot be read, then the option will be treated
               literally, and not removed.
    
               Options in _file_ are separated by whitespace.  A whitespace
               character may be included in an option by surrounding the
               entire option in either single or double quotes.  Any
               character (including a backslash) may be included by prefixing
               the character to be included with a backslash.  The _file_ may
               itself contain additional @_file_ options; any such options will
               be processed recursively.
    


* * *