1a28b8d78SJordan Rupprechtllvm-strings - print strings 2a28b8d78SJordan Rupprecht============================ 3a28b8d78SJordan Rupprecht 4a28b8d78SJordan Rupprecht.. program:: llvm-strings 5a28b8d78SJordan Rupprecht 6a28b8d78SJordan RupprechtSYNOPSIS 7a28b8d78SJordan Rupprecht-------- 8a28b8d78SJordan Rupprecht 975b6279cSJames Henderson:program:`llvm-strings` [*options*] [*input...*] 10a28b8d78SJordan Rupprecht 11a28b8d78SJordan RupprechtDESCRIPTION 12a28b8d78SJordan Rupprecht----------- 13a28b8d78SJordan Rupprecht 1475b6279cSJames Henderson:program:`llvm-strings` is a tool intended as a drop-in replacement for GNU's 1575b6279cSJames Henderson:program:`strings`, which looks for printable strings in files and writes them 1675b6279cSJames Hendersonto the standard output stream. A printable string is any sequence of four (by 1712e30999SJames Hendersondefault) or more printable ASCII characters. The end of the file, or any other 1812e30999SJames Hendersonbyte, terminates the current sequence. 1975b6279cSJames Henderson 2075b6279cSJames Henderson:program:`llvm-strings` looks for strings in each ``input`` file specified. 2175b6279cSJames HendersonUnlike GNU :program:`strings` it looks in the entire input file, regardless of 2275b6279cSJames Hendersonfile format, rather than restricting the search to certain sections of object 2375b6279cSJames Hendersonfiles. If "``-``" is specified as an ``input``, or no ``input`` is specified, 2475b6279cSJames Hendersonthe program reads from the standard input stream. 2575b6279cSJames Henderson 2675b6279cSJames HendersonEXAMPLE 2775b6279cSJames Henderson------- 2875b6279cSJames Henderson 2975b6279cSJames Henderson.. code-block:: console 3075b6279cSJames Henderson 3175b6279cSJames Henderson $ cat input.txt 3275b6279cSJames Henderson bars 3375b6279cSJames Henderson foo 3475b6279cSJames Henderson wibble blob 3575b6279cSJames Henderson $ llvm-strings input.txt 3675b6279cSJames Henderson bars 3775b6279cSJames Henderson wibble blob 3875b6279cSJames Henderson 3975b6279cSJames HendersonOPTIONS 4075b6279cSJames Henderson------- 4175b6279cSJames Henderson 4275b6279cSJames Henderson.. option:: --all, -a 4375b6279cSJames Henderson 4475b6279cSJames Henderson Silently ignored. Present for GNU :program:`strings` compatibility. 4575b6279cSJames Henderson 4675b6279cSJames Henderson.. option:: --bytes=<length>, -n 4775b6279cSJames Henderson 4875b6279cSJames Henderson Set the minimum number of printable ASCII characters required for a sequence of 4975b6279cSJames Henderson bytes to be considered a string. The default value is 4. 5075b6279cSJames Henderson 5175b6279cSJames Henderson.. option:: --help, -h 5275b6279cSJames Henderson 5375b6279cSJames Henderson Display a summary of command line options. 5475b6279cSJames Henderson 5575b6279cSJames Henderson.. option:: --print-file-name, -f 5675b6279cSJames Henderson 5775b6279cSJames Henderson Display the name of the containing file before each string. 5875b6279cSJames Henderson 5975b6279cSJames Henderson Example: 6075b6279cSJames Henderson 6175b6279cSJames Henderson .. code-block:: console 6275b6279cSJames Henderson 6375b6279cSJames Henderson $ llvm-strings --print-file-name test.o test.elf 6475b6279cSJames Henderson test.o: _Z5hellov 6575b6279cSJames Henderson test.o: some_bss 6675b6279cSJames Henderson test.o: test.cpp 6775b6279cSJames Henderson test.o: main 6875b6279cSJames Henderson test.elf: test.cpp 6975b6279cSJames Henderson test.elf: test2.cpp 7075b6279cSJames Henderson test.elf: _Z5hellov 7175b6279cSJames Henderson test.elf: main 7275b6279cSJames Henderson test.elf: some_bss 7375b6279cSJames Henderson 7475b6279cSJames Henderson.. option:: --radix=<radix>, -t 7575b6279cSJames Henderson 7675b6279cSJames Henderson Display the offset within the file of each string, before the string and using 7775b6279cSJames Henderson the specified radix. Valid ``<radix>`` values are ``o``, ``d`` and ``x`` for 7875b6279cSJames Henderson octal, decimal and hexadecimal respectively. 7975b6279cSJames Henderson 8075b6279cSJames Henderson Example: 8175b6279cSJames Henderson 8275b6279cSJames Henderson .. code-block:: console 8375b6279cSJames Henderson 8475b6279cSJames Henderson $ llvm-strings --radix=o test.o 8575b6279cSJames Henderson 1054 _Z5hellov 8675b6279cSJames Henderson 1066 .rela.text 8775b6279cSJames Henderson 1101 .comment 8875b6279cSJames Henderson 1112 some_bss 8975b6279cSJames Henderson 1123 .bss 9075b6279cSJames Henderson 1130 test.cpp 9175b6279cSJames Henderson 1141 main 9275b6279cSJames Henderson $ llvm-strings --radix=d test.o 9375b6279cSJames Henderson 556 _Z5hellov 9475b6279cSJames Henderson 566 .rela.text 9575b6279cSJames Henderson 577 .comment 9675b6279cSJames Henderson 586 some_bss 9775b6279cSJames Henderson 595 .bss 9875b6279cSJames Henderson 600 test.cpp 9975b6279cSJames Henderson 609 main 10075b6279cSJames Henderson $ llvm-strings -t x test.o 10175b6279cSJames Henderson 22c _Z5hellov 10275b6279cSJames Henderson 236 .rela.text 10375b6279cSJames Henderson 241 .comment 10475b6279cSJames Henderson 24a some_bss 10575b6279cSJames Henderson 253 .bss 10675b6279cSJames Henderson 258 test.cpp 10775b6279cSJames Henderson 261 main 10875b6279cSJames Henderson 10975b6279cSJames Henderson.. option:: --version 11075b6279cSJames Henderson 11175b6279cSJames Henderson Display the version of the :program:`llvm-strings` executable. 11275b6279cSJames Henderson 11375b6279cSJames Henderson.. option:: @<FILE> 11475b6279cSJames Henderson 11575b6279cSJames Henderson Read command-line options from response file ``<FILE>``. 11675b6279cSJames Henderson 11775b6279cSJames HendersonEXIT STATUS 11875b6279cSJames Henderson----------- 11975b6279cSJames Henderson 12075b6279cSJames Henderson:program:`llvm-strings` exits with a non-zero exit code if there is an error. 12175b6279cSJames HendersonOtherwise, it exits with code 0. 12275b6279cSJames Henderson 12375b6279cSJames HendersonBUGS 12475b6279cSJames Henderson---- 12575b6279cSJames Henderson 126*bbce75e3SChuanqi XuTo report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-strings/>. 127