| # llvm-strings - print strings |
| |
| :::{program} llvm-strings |
| ::: |
| |
| ## SYNOPSIS |
| |
| {program}`llvm-strings` \[*options*\] \[*input...*\] |
| |
| ## DESCRIPTION |
| |
| {program}`llvm-strings` is a tool intended as a drop-in replacement for GNU's |
| {program}`strings`, which looks for printable strings in files and writes them |
| to the standard output stream. A printable string is any sequence of four (by |
| default) or more printable ASCII characters. The end of the file, or any other |
| byte, terminates the current sequence. |
| |
| {program}`llvm-strings` looks for strings in each `input` file specified. |
| Unlike GNU {program}`strings` it looks in the entire input file, regardless of |
| file format, rather than restricting the search to certain sections of object |
| files. If "`-`" is specified as an `input`, or no `input` is specified, |
| the program reads from the standard input stream. |
| |
| ## EXAMPLE |
| |
| ```console |
| $ cat input.txt |
| bars |
| foo |
| wibble blob |
| $ llvm-strings input.txt |
| bars |
| wibble blob |
| ``` |
| |
| ## OPTIONS |
| |
| :::{option} --all, -a |
| Silently ignored. Present for GNU {program}`strings` compatibility. |
| ::: |
| |
| :::{option} --bytes=<length>, -n |
| Set the minimum number of printable ASCII characters required for a sequence of |
| bytes to be considered a string. The default value is 4. |
| ::: |
| |
| :::{option} --help, -h |
| Display a summary of command line options. |
| ::: |
| |
| :::{option} --print-file-name, -f |
| Display the name of the containing file before each string. |
| |
| Example: |
| |
| ```console |
| $ llvm-strings --print-file-name test.o test.elf |
| test.o: _Z5hellov |
| test.o: some_bss |
| test.o: test.cpp |
| test.o: main |
| test.elf: test.cpp |
| test.elf: test2.cpp |
| test.elf: _Z5hellov |
| test.elf: main |
| test.elf: some_bss |
| ``` |
| ::: |
| |
| :::{option} --radix=<radix>, -t |
| Display the offset within the file of each string, before the string and using |
| the specified radix. Valid `<radix>` values are `o`, `d` and `x` for |
| octal, decimal and hexadecimal respectively. |
| |
| Example: |
| |
| ```console |
| $ llvm-strings --radix=o test.o |
| 1054 _Z5hellov |
| 1066 .rela.text |
| 1101 .comment |
| 1112 some_bss |
| 1123 .bss |
| 1130 test.cpp |
| 1141 main |
| $ llvm-strings --radix=d test.o |
| 556 _Z5hellov |
| 566 .rela.text |
| 577 .comment |
| 586 some_bss |
| 595 .bss |
| 600 test.cpp |
| 609 main |
| $ llvm-strings -t x test.o |
| 22c _Z5hellov |
| 236 .rela.text |
| 241 .comment |
| 24a some_bss |
| 253 .bss |
| 258 test.cpp |
| 261 main |
| ``` |
| ::: |
| |
| :::{option} --version |
| Display the version of the {program}`llvm-strings` executable. |
| ::: |
| |
| :::{option} @<FILE> |
| Read command-line options from response file `<FILE>`. |
| ::: |
| |
| ## EXIT STATUS |
| |
| {program}`llvm-strings` 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-strings/>>. |
| |