[llvm] r371984 - [docs][llvm-strings] Write llvm-strings documentation

James Henderson via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 16 06:56:12 PDT 2019


Author: jhenderson
Date: Mon Sep 16 06:56:12 2019
New Revision: 371984

URL: http://llvm.org/viewvc/llvm-project?rev=371984&view=rev
Log:
[docs][llvm-strings] Write llvm-strings documentation

Previously we only had a stub document.

Reviewed by: MaskRay

Differential Revision: https://reviews.llvm.org/D67554

Modified:
    llvm/trunk/docs/CommandGuide/llvm-strings.rst

Modified: llvm/trunk/docs/CommandGuide/llvm-strings.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/CommandGuide/llvm-strings.rst?rev=371984&r1=371983&r2=371984&view=diff
==============================================================================
--- llvm/trunk/docs/CommandGuide/llvm-strings.rst (original)
+++ llvm/trunk/docs/CommandGuide/llvm-strings.rst Mon Sep 16 06:56:12 2019
@@ -6,10 +6,125 @@ llvm-strings - print strings
 SYNOPSIS
 --------
 
-:program:`llvm-strings` [*options*]
+:program:`llvm-strings` [*options*] [*input...*]
 
 DESCRIPTION
 -----------
 
-:program:`llvm-strings` is a tool that prints strings in files. The goal is to
-make it a drop-in replacement for GNU's :program:`strings`.
+: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 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
+-------
+
+.. code-block:: 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:: --help-list
+
+ Display an uncategorized summary of command line options.
+
+.. option:: --print-file-name, -f
+
+ Display the name of the containing file before each string.
+
+ Example:
+
+ .. code-block:: 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:
+
+ .. code-block:: 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 <http://llvm.org/bugs/>.




More information about the llvm-commits mailing list