llvm-size - サイズ情報を出力¶
概要¶
llvm-size [options] [input…]
説明¶
llvm-size は、バイナリファイルのサイズ情報を出力するツールです。これは、GNU の size の代替として使用することを意図しています。
このツールは、指定された各 input
のサイズ情報を出力します。入力が指定されていない場合、プログラムは a.out
のサイズ情報を出力します。入力ファイルとして “-
” が指定されている場合、llvm-size は標準入力ストリームからファイルを読み取ります。入力がアーカイブの場合、すべてのメンバーのサイズ情報が表示されます。
オプション¶
- --arch=<arch>¶
情報を表示する Mach-O ユニバーサルバイナリからのアーキテクチャ。
- --common¶
berkeley
出力形式の場合、ELF の共通シンボルサイズを bss サイズに含めるか、sysv
出力の場合は別のセクションエントリとして含めます。指定しない場合、これらのシンボルは無視されます。
- -l¶
darwin
形式の Mach-O ファイルのセグメントとセクションの詳細なアドレスとオフセット情報を表示します。
- --format=<format>¶
出力形式を、指定された
<format>
に設定します。使用可能な<format>
オプションは、berkeley
(デフォルト)、sysv
、およびdarwin
です。Berkeley 出力は、各ファイルのテキスト、データ、および bss サイズを要約します。一般的な ELF ファイルのペアの例を以下に示します。
$ 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
Mach-O ファイルの場合、出力形式はわずかに異なります
$ 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 出力は、ほとんどのセクションのサイズとアドレス情報を表示し、各ファイルが個別にリストされます
$ 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
形式は、Mach-O 入力ファイルにのみ影響します。異なるファイル形式の入力が指定された場合、llvm-size はberkeley
形式にフォールバックします。darwin
形式を生成する場合、ツールはセグメントとセクションに関する情報を表示します$ 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¶
コマンドラインオプションの概要を表示します。
- --radix=<value>¶
サイズ情報を指定された基数で表示します。許可される値は、8 進数、10 進数 (デフォルト)、および 16 進数出力それぞれに対して
8
、10
、および16
です。例
$ 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¶
berkeley
出力形式にのみ適用されます。個々のファイルリストに加えて、リストされたすべてのフィールドの合計を表示します。例
$ 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¶
llvm-size 実行可能ファイルのバージョンを表示します。
- @<FILE>¶
レスポンスファイル
<FILE>
からコマンドラインオプションを読み取ります。
終了ステータス¶
エラーが発生した場合、llvm-size はゼロ以外の終了コードで終了します。それ以外の場合は、コード 0 で終了します。
バグ¶
バグを報告するには、<https://github.com/llvm/llvm-project/labels/tools:llvm-size/> をご覧ください。