From 4c3722aea81a20a5de9b01eb5f68320f975c6209 Mon Sep 17 00:00:00 2001 From: Jordan Rupprecht Date: Tue, 11 Jun 2019 21:13:01 +0000 Subject: [PATCH] [docs] Add "GNU binutils Replacements" section to command guide Summary: This splits out a section in the command guide for llvm tools that can be used as replacements for GNU tools. For pages that didn't exist, I added stub pages that can be individually filled in by followup patches. Tested by running `ninja docs-llvm-html` and inspecting locally. Reviewers: jhenderson, MaskRay, grimar, alexshap Reviewed By: jhenderson, MaskRay, grimar Subscribers: smeenai, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63014 llvm-svn: 363100 --- llvm/docs/CommandGuide/index.rst | 22 ++++++++++++++++---- llvm/docs/CommandGuide/llvm-cxxfilt.md | 10 +++++++++ llvm/docs/CommandGuide/llvm-objcopy.md | 16 +++++++++++++++ llvm/docs/CommandGuide/llvm-ranlib.md | 17 ++++++++++++++++ llvm/docs/CommandGuide/llvm-readelf.md | 28 ++++++++++++++++++++++++++ llvm/docs/CommandGuide/llvm-size.md | 10 +++++++++ llvm/docs/CommandGuide/llvm-strings.md | 10 +++++++++ llvm/docs/CommandGuide/llvm-strip.md | 16 +++++++++++++++ 8 files changed, 125 insertions(+), 4 deletions(-) create mode 100644 llvm/docs/CommandGuide/llvm-cxxfilt.md create mode 100644 llvm/docs/CommandGuide/llvm-objcopy.md create mode 100644 llvm/docs/CommandGuide/llvm-ranlib.md create mode 100644 llvm/docs/CommandGuide/llvm-readelf.md create mode 100644 llvm/docs/CommandGuide/llvm-size.md create mode 100644 llvm/docs/CommandGuide/llvm-strings.md create mode 100644 llvm/docs/CommandGuide/llvm-strip.md diff --git a/llvm/docs/CommandGuide/index.rst b/llvm/docs/CommandGuide/index.rst index b461757d9977..52ad316459d4 100644 --- a/llvm/docs/CommandGuide/index.rst +++ b/llvm/docs/CommandGuide/index.rst @@ -20,11 +20,8 @@ Basic Commands llc lli llvm-link - llvm-ar llvm-lib llvm-lipo - llvm-nm - llvm-objdump llvm-config llvm-cxxmap llvm-diff @@ -32,12 +29,29 @@ Basic Commands llvm-profdata llvm-stress llvm-symbolizer - llvm-addr2line llvm-dwarfdump dsymutil llvm-mca llvm-readobj +GNU binutils replacements +~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. toctree:: + :maxdepth: 1 + + llvm-addr2line + llvm-ar + llvm-cxxfilt + llvm-nm + llvm-objcopy + llvm-objdump + llvm-ranlib + llvm-readelf + llvm-size + llvm-strings + llvm-strip + Debugging Tools ~~~~~~~~~~~~~~~ diff --git a/llvm/docs/CommandGuide/llvm-cxxfilt.md b/llvm/docs/CommandGuide/llvm-cxxfilt.md new file mode 100644 index 000000000000..e687cd271844 --- /dev/null +++ b/llvm/docs/CommandGuide/llvm-cxxfilt.md @@ -0,0 +1,10 @@ +# llvm-cxxfilt - a symbol demangler + +## SYNOPSIS + +**llvm-cxxfilt** [*options*] + +## DESCRIPTION + +**llvm-cxxfilt** is symbol demangler that can be used as a replacement for the +GNU **c++filt** tool. diff --git a/llvm/docs/CommandGuide/llvm-objcopy.md b/llvm/docs/CommandGuide/llvm-objcopy.md new file mode 100644 index 000000000000..3b79fb7dff07 --- /dev/null +++ b/llvm/docs/CommandGuide/llvm-objcopy.md @@ -0,0 +1,16 @@ +# llvm-objcopy - object copying tool + +## SYNOPSIS + +**llvm-objcopy** [*options*] + +## DESCRIPTION + +**llvm-objcopy** is a tool to copy and manipulate objects. + +The tool is still in active development, but in most scenarios it works as a +drop-in replacement for GNU's **objcopy**. + +## SEE ALSO + +[llvm-strip](llvm-strip.html) diff --git a/llvm/docs/CommandGuide/llvm-ranlib.md b/llvm/docs/CommandGuide/llvm-ranlib.md new file mode 100644 index 000000000000..4377364b57d7 --- /dev/null +++ b/llvm/docs/CommandGuide/llvm-ranlib.md @@ -0,0 +1,17 @@ +# llvm-ranlib - generates an archive index + +## SYNOPSIS + +**llvm-ranlib** [*options*] + +## DESCRIPTION + +**llvm-ranlib** is an alias for the [llvm-ar](llvm-ar.html) tool that generates +an index for an archive. It can be used as a replacement for GNU's **ranlib** +tool. + +Running **llvm-ranlib** is equivalent to running **llvm-ar s**. + +## SEE ALSO + +Refer to [llvm-ar](llvm-ar.html) for additional information. diff --git a/llvm/docs/CommandGuide/llvm-readelf.md b/llvm/docs/CommandGuide/llvm-readelf.md new file mode 100644 index 000000000000..a03844da1a2c --- /dev/null +++ b/llvm/docs/CommandGuide/llvm-readelf.md @@ -0,0 +1,28 @@ +# llvm-readelf - a drop-in replacement for readelf + +## SYNOPSIS + +**llvm-readelf** [*options*] + +## DESCRIPTION + +**llvm-readelf** is an alias for the [llvm-readobj](llvm-readobj.html) tool with +a command-line interface and output style more closely resembling GNU +**readelf**. + +Here are some of those differences: + +* Uses `--elf-output-style=GNU` by default. + +* Allows single-letter grouped flags (e.g. `llvm-readelf -SW` is the same as + `llvm-readelf -S -W`). + +* Allows use of `-s` as an alias for `--symbols` (versus `--section-headers` in + **llvm-readobj**) for GNU **readelf** compatibility. + +* Prevents use of `-sr`, `-sd`, `-st` and `-dt` **llvm-readobj** aliases, to + avoid conflicting with standard GNU **readelf** grouped flags. + +## SEE ALSO + +Refer to [llvm-readobj](llvm-readobj.html) for additional information. diff --git a/llvm/docs/CommandGuide/llvm-size.md b/llvm/docs/CommandGuide/llvm-size.md new file mode 100644 index 000000000000..3952708f3661 --- /dev/null +++ b/llvm/docs/CommandGuide/llvm-size.md @@ -0,0 +1,10 @@ +# llvm-size - print segment sizes + +## SYNOPSIS + +**llvm-size** [*options*] + +## DESCRIPTION + +**llvm-size** is a tool that prints segment sizes in object files. The goal is +to make it a drop-in replacement for GNU's **size**. diff --git a/llvm/docs/CommandGuide/llvm-strings.md b/llvm/docs/CommandGuide/llvm-strings.md new file mode 100644 index 000000000000..b5871c4c3191 --- /dev/null +++ b/llvm/docs/CommandGuide/llvm-strings.md @@ -0,0 +1,10 @@ +# llvm-strings - print strings + +## SYNOPSIS + +**llvm-strings** [*options*] + +## DESCRIPTION + +**llvm-strings** is a tool that prints strings in object files. The goal is to +make it a drop-in replacement for GNU's **size**. diff --git a/llvm/docs/CommandGuide/llvm-strip.md b/llvm/docs/CommandGuide/llvm-strip.md new file mode 100644 index 000000000000..dd6e8593483f --- /dev/null +++ b/llvm/docs/CommandGuide/llvm-strip.md @@ -0,0 +1,16 @@ +# llvm-strip - object stripping tool + +## SYNOPSIS + +**llvm-strip** [*options*] + +## DESCRIPTION + +**llvm-strip** is a tool to strip sections and symbols from object files. + +The tool is still in active development, but in most scenarios it works as a +drop-in replacement for GNU's **strip**. + +## SEE ALSO + +[llvm-objcopy](llvm-objcopy.html)