reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
  105
  106
  107
  108
  109
  110
  111
  112
  113
  114
  115
  116
  117
  118
  119
  120
  121
  122
  123
  124
  125
  126
  127
  128
  129
  130
  131
  132
  133
  134
  135
  136
  137
  138
  139
  140
  141
  142
  143
  144
  145
  146
  147
  148
  149
  150
  151
  152
  153
  154
  155
  156
  157
  158
  159
  160
  161
  162
  163
  164
  165
  166
  167
  168
  169
  170
  171
  172
  173
  174
  175
  176
  177
  178
  179
  180
  181
  182
  183
  184
  185
  186
  187
  188
  189
  190
  191
  192
  193
  194
  195
  196
  197
  198
llvm-size - print size information
==================================

.. program:: llvm-size

SYNOPSIS
--------

:program:`llvm-size` [*options*] [*input...*]

DESCRIPTION
-----------

:program:`llvm-size` is a tool that prints size information for binary files.
It is intended to be a drop-in replacement for GNU's :program:`size`.

The tool prints size information for each ``input`` specified. If no input is
specified, the program prints size information for ``a.out``. If "``-``" is
specified as an input file, :program:`llvm-size` reads a file from the standard
input stream. If an input is an archive, size information will be displayed for
all its members.

OPTIONS
-------

.. option:: -A

 Equivalent to :option:`--format` with a value of ``sysv``.

.. option:: --arch=<arch>

 Architecture(s) from Mach-O universal binaries to display information for.

.. option:: -B

 Equivalent to :option:`--format` with a value of ``berkeley``.

.. option:: --common

 Include ELF common symbol sizes in bss size for ``berkeley`` output format, or
 as a separate section entry for ``sysv`` output. If not specified, these
 symbols are ignored.

.. option:: -d

 Equivalent to :option:`--radix` with a value of ``10``.

.. option:: -l

 Display verbose address and offset information for segments and sections in
 Mach-O files in ``darwin`` format.

.. option:: --format=<format>

 Set the output format to the ``<format>`` specified. Available ``<format>``
 options are ``berkeley`` (the default), ``sysv`` and ``darwin``.

 Berkeley output summarises text, data and bss sizes in each file, as shown
 below for a typical pair of ELF files:

 .. code-block:: console

  $ llvm-size --format=berkeley test.o test2.o
     text    data     bss     dec     hex filename
      182      16       5     203      cb test.elf
       82       8       1      91      5b test2.o

 For Mach-O files, the output format is slightly different:

 .. code-block:: console

  $ llvm-size --format=berkeley macho.obj macho2.obj
  __TEXT  __DATA  __OBJC  others  dec     hex
  4       8       0       0       12      c       macho.obj
  16      32      0       0       48      30      macho2.obj

 Sysv output displays size and address information for most sections, with each
 file being listed separately:

 .. code-block:: console

  $ llvm-size --format=sysv test.elf test2.o
     test.elf  :
     section       size      addr
     .eh_frame       92   2097496
     .text           90   2101248
     .data           16   2105344
     .bss             5   2105360
     .comment       209         0
     Total          412

     test2.o  :
     section             size   addr
     .text                 26      0
     .data                  8      0
     .bss                   1      0
     .comment             106      0
     .note.GNU-stack        0      0
     .eh_frame             56      0
     .llvm_addrsig          2      0
     Total                199

 ``darwin`` format only affects Mach-O input files. If an input of a different
 file format is specified, :program:`llvm-size` falls back to ``berkeley``
 format. When producing ``darwin`` format, the tool displays information about
 segments and sections:

 .. code-block:: console

  $ llvm-size --format=darwin macho.obj macho2.obj
     macho.obj:
     Segment : 12
             Section (__TEXT, __text): 4
             Section (__DATA, __data): 8
             total 12
     total 12
     macho2.obj:
     Segment : 48
             Section (__TEXT, __text): 16
             Section (__DATA, __data): 32
             total 48
     total 48

.. option:: --help, -h

 Display a summary of command line options.

.. option:: --help-list

 Display an uncategorized summary of command line options.

.. option:: -m

 Equivalent to :option:`--format` with a value of ``darwin``.

.. option:: -o

 Equivalent to :option:`--radix` with a value of ``8``.

.. option:: --radix=<value>

 Display size information in the specified radix. Permitted values are ``8``,
 ``10`` (the default) and ``16`` for octal, decimal and hexadecimal output
 respectively.

 Example:

 .. code-block:: console

  $ llvm-size --radix=8 test.o
     text    data     bss     oct     hex filename
     0152      04      04     162      72 test.o

  $ llvm-size --radix=10 test.o
     text    data     bss     dec     hex filename
      106       4       4     114      72 test.o

  $ llvm-size --radix=16 test.o
     text    data     bss     dec     hex filename
     0x6a     0x4     0x4     114      72 test.o

.. option:: --totals, -t

 Applies only to ``berkeley`` output format. Display the totals for all listed
 fields, in addition to the individual file listings.

 Example:

 .. code-block:: console

  $ llvm-size --totals test.elf test2.o
     text    data     bss     dec     hex filename
      182      16       5     203      cb test.elf
       82       8       1      91      5b test2.o
      264      24       6     294     126 (TOTALS)

.. option:: --version

 Display the version of the :program:`llvm-size` executable.

.. option:: -x

 Equivalent to :option:`--radix` with a value of ``16``.

.. option:: @<FILE>

 Read command-line options from response file ``<FILE>``.

EXIT STATUS
-----------

:program:`llvm-size` exits with a non-zero exit code if there is an error.
Otherwise, it exits with code 0.

BUGS
----

To report bugs, please visit <http://llvm.org/bugs/>.