diff --git a/docs/CommandGuide/llvm-symbolizer.rst b/docs/CommandGuide/llvm-symbolizer.rst index b794f56246f..4dd6d9bf28b 100644 --- a/docs/CommandGuide/llvm-symbolizer.rst +++ b/docs/CommandGuide/llvm-symbolizer.rst @@ -128,6 +128,37 @@ OPTIONS Add the specified offset to object file addresses when performing lookups. This can be used to perform lookups as if the object were relocated by the offset. +.. option:: -output-style= + + Specify the preferred output style. Defaults to ``LLVM``. When the output + style is set to ``GNU``, the tool follows the style of GNU's **addr2line**. + The differences from the ``LLVM`` style are: + + * Does not print column of a source code location. + + * Does not add an empty line after the report for an address. + + * Does not replace the name of an inlined function with the name of the + topmost caller when inlined frames are not shown and ``-use-symbol-table`` + is on. + + .. code-block:: console + + $ llvm-symbolizer -p -e=addr.exe 0x40054d 0x400568 + inc at /tmp/x.c:3:3 + (inlined by) main at /tmp/x.c:14:0 + + main at /tmp/x.c:14:3 + + $ llvm-symbolizer --output-style=LLVM -p -i=0 -e=addr.exe 0x40054d 0x400568 + main at /tmp/x.c:3:3 + + main at /tmp/x.c:14:3 + + $ llvm-symbolizer --output-style=GNU -p -i=0 -e=addr.exe 0x40054d 0x400568 + inc at /tmp/x.c:3 + main at /tmp/x.c:14 + EXIT STATUS ----------- diff --git a/tools/llvm-symbolizer/llvm-symbolizer.cpp b/tools/llvm-symbolizer/llvm-symbolizer.cpp index c57f5f85c86..aa6635fc92f 100644 --- a/tools/llvm-symbolizer/llvm-symbolizer.cpp +++ b/tools/llvm-symbolizer/llvm-symbolizer.cpp @@ -148,7 +148,7 @@ static cl::opt static cl::opt ClOutputStyle("output-style", cl::init(DIPrinter::OutputStyle::LLVM), - cl::desc("Specify print style"), cl::Hidden, + cl::desc("Specify print style"), cl::values(clEnumValN(DIPrinter::OutputStyle::LLVM, "LLVM", "LLVM default style"), clEnumValN(DIPrinter::OutputStyle::GNU, "GNU",