size - print section sizes in bytes of object files
size [-fFhnoVx] [--scale[=item1,item2,...]] file...
The size command produces segment or section size information in bytes for each loaded section in ELF object files. size prints the size of the text, data, and bss (uninitialized data) segments (or sections) and their total.
size processes ELF object files entered on the command line. If an archive file is input to the size command, the information for each object file in the archive is displayed.
When calculating segment information, the size command prints the total file size of the non-writable segments, the total file size of the writable segments, and the total memory size of the writable segments minus the total file size of the writable segments.
If it cannot calculate segment information, size calculates section information. When calculating section information, it prints the total size of sections that are allocatable, non-writable, and not NOBITS, the total size of the sections that are allocatable, writable, and not NOBITS, and the total size of the writable sections of type NOBITS. NOBITS sections do not actually take up space in the file.
If size cannot calculate either segment or section information, it prints an error message.
The following options are supported:
Prints the size of each allocatable section, the name of the section, and the total of the section sizes. If there is no section data, size prints an error message.
Prints the size of each loadable segment, the permission flags of the segment, then the total of the loadable segment sizes. If there is no segment data, size prints an error message.
Prints numbers in decimal, scaled to a human readable format. The –h option is equivalent to using the –scale=max,1024 option.
Prints non-loadable segment or non-allocatable section sizes. If segment data exists, size prints the memory size of each loadable segment or file size of each non-loadable segment, the permission flags, and the total size of the segments. If there is no segment data, size prints, for each allocatable and non-allocatable section, the memory size, the section name, and the total size of the sections. If there is no segment or section data, size prints an error message.
Prints numbers in octal, not decimal.
Prints numbers in decimal, scaled to a human readable format. Scaling is done by repetitively dividing by 1024, unless otherwise specified.
–scale specified without arguments enables default scaled output, and is equivalent to –scale=max,1024.
–scale can be specified with the following arguments.
Scaling is done by repetitively dividing by a scale factor of 1024. The use of binary scaling is indicated by the addition of an 'i' modifier to the suffix (Ki, Mi, Gi, ...).
Values are scaled to the largest unit for which the result retains a non-zero integer part. Up to 2 decimal places of fractional output may be shown.
Values are scaled to the smallest unit capable of showing the full value within the allotted space of 5 columns, and displayed without the use of fractional output.
Values are scaled to the smallest unit capable of showing the full value within the allotted space of 8 columns, and displayed without the use of fractional output.
Scaling is done by repetitively dividing by a scale factor of 1000.
Scaling is done by repetitively dividing by a scale factor of 1024.
Print version information.
Prints numbers in hexadecimal, not decimal.
Print usage message and immediately exit.
The examples below are typical size output.
Example 1 Producing size informationexample% size filename 2724 + 88 + 0 = 2812Example 2 Producing allocatable section size information
example% size -f filename 26(.text) + 5(.init) + 5(.fini) = 36Example 3 Producing loadable segment size information
example% size -F filename 2724(r-x) + 88(rwx) + 0(rwx) = 2812
See attributes(7) for descriptions of the following attributes:
|