| # 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/>>. | |