\$1 0 level 0 level margin: 0 - 0 0 0
tail head cat sleep
QR code linking to this page

Manual Pages  — LLVM-SIZE

NAME

llvm-size - print size information

CONTENTS

SYNOPSIS

llvm-size [options] [input...]

DESCRIPTION

llvm-size is a tool that prints size information for binary files. It is intended to be a drop-in replacement for GNUaqs sizeamp;.

The tool prints size information for each input specified. If no input is specified, the program prints size information for a.outamp;. If dq-dq is specified as an input file, 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

-A Equivalent to  --format with a value of sysvamp;.
--arch=<arch>
  Architecture(s) from Mach-O universal binaries to display information for.
-B Equivalent to  --format with a value of berkeleyamp;.
--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.
-d Equivalent to  --radix with a value of 10amp;.
-l Display verbose address and offset information for segments and sections in Mach-O files in darwin format.
--format=<format>
  Set the output format to the <format> specified. Available <format> options are berkeley (the default), sysv and darwinamp;.

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

$ 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:

$ 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:

$ 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, llvm-size falls back to berkeley format. When producing darwin format, the tool displays information about segments and sections:

$ 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
--help, -h Display a summary of command line options.
-m Equivalent to  --format with a value of darwinamp;.
-o Equivalent to  --radix with a value of 8amp;.
--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:

$ 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

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

Example:

$ 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)
--version
  Display the version of the llvm-size executable.
-x Equivalent to  --radix with a value of 16amp;.
@<FILE> Read command-line options from response file <FILE>amp;.

EXIT STATUS

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 < https://github.com/llvm/llvm-project/labels/tools:llvm-size/>.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2023, LLVM Project

2023-05-24 LLVM-SIZE (1) 16

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

Never write it in C if you can do it in `awk';
Never do it in `awk' if `sed' can handle it;
Never use `sed' when `tr' can do the job;
Never invoke `tr' when `cat' is sufficient;
Avoid using `cat' whenever possible.
— Taylor's Laws of Programming