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

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

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

$ 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} @ 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/>.