[AMDGPU] Infer amdgpu-no-flat-scratch-init attribute in AMDGPUAttributor (#94647)
[llvm-project.git] / llvm / docs / CommandGuide / llvm-strings.rst
blob0a9ab5dca0c1f24095d0b796052c087f715642d8
1 llvm-strings - print strings
2 ============================
4 .. program:: llvm-strings
6 SYNOPSIS
7 --------
9 :program:`llvm-strings` [*options*] [*input...*]
11 DESCRIPTION
12 -----------
14 :program:`llvm-strings` is a tool intended as a drop-in replacement for GNU's
15 :program:`strings`, which looks for printable strings in files and writes them
16 to the standard output stream. A printable string is any sequence of four (by
17 default) or more printable ASCII characters. The end of the file, or any other
18 byte, terminates the current sequence.
20 :program:`llvm-strings` looks for strings in each ``input`` file specified.
21 Unlike GNU :program:`strings` it looks in the entire input file, regardless of
22 file format, rather than restricting the search to certain sections of object
23 files. If "``-``" is specified as an ``input``, or no ``input`` is specified,
24 the program reads from the standard input stream.
26 EXAMPLE
27 -------
29 .. code-block:: console
31  $ cat input.txt
32  bars
33  foo
34  wibble blob
35  $ llvm-strings input.txt
36  bars
37  wibble blob
39 OPTIONS
40 -------
42 .. option:: --all, -a
44  Silently ignored. Present for GNU :program:`strings` compatibility.
46 .. option:: --bytes=<length>, -n
48  Set the minimum number of printable ASCII characters required for a sequence of
49  bytes to be considered a string. The default value is 4.
51 .. option:: --help, -h
53  Display a summary of command line options.
55 .. option:: --print-file-name, -f
57  Display the name of the containing file before each string.
59  Example:
61  .. code-block:: console
63   $ llvm-strings --print-file-name test.o test.elf
64   test.o: _Z5hellov
65   test.o: some_bss
66   test.o: test.cpp
67   test.o: main
68   test.elf: test.cpp
69   test.elf: test2.cpp
70   test.elf: _Z5hellov
71   test.elf: main
72   test.elf: some_bss
74 .. option:: --radix=<radix>, -t
76  Display the offset within the file of each string, before the string and using
77  the specified radix. Valid ``<radix>`` values are ``o``, ``d`` and ``x`` for
78  octal, decimal and hexadecimal respectively.
80  Example:
82  .. code-block:: console
84   $ llvm-strings --radix=o test.o
85       1054 _Z5hellov
86       1066 .rela.text
87       1101 .comment
88       1112 some_bss
89       1123 .bss
90       1130 test.cpp
91       1141 main
92   $ llvm-strings --radix=d test.o
93       556 _Z5hellov
94       566 .rela.text
95       577 .comment
96       586 some_bss
97       595 .bss
98       600 test.cpp
99       609 main
100   $ llvm-strings -t x test.o
101       22c _Z5hellov
102       236 .rela.text
103       241 .comment
104       24a some_bss
105       253 .bss
106       258 test.cpp
107       261 main
109 .. option:: --version
111  Display the version of the :program:`llvm-strings` executable.
113 .. option:: @<FILE>
115  Read command-line options from response file ``<FILE>``.
117 EXIT STATUS
118 -----------
120 :program:`llvm-strings` exits with a non-zero exit code if there is an error.
121 Otherwise, it exits with code 0.
123 BUGS
124 ----
126 To report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-strings/>.