[PATCH] D77346: [docs] Corrected inaccuracies in Common Problems section

Adrian Prantl via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 10 15:04:40 PDT 2020


aprantl added inline comments.


================
Comment at: llvm/docs/GettingStarted.rst:1156
+   generate the debug information in the form of a DWARF object file (with the 
+   extension .dwo). This option is only available on Linux.
 
----------------
aprantl wrote:
> Meinersbur wrote:
> > e-leclercq wrote:
> > > Meinersbur wrote:
> > > > I am not sure this is Linux-only. It certainly requires DWARF debug information (.i.e no Windows PDB), but It will probably work on BSDs and maybe also using the target `x86_64-w64-mingw32`.
> > > I read up on this a bit more and it appears that this works on both UNIX and Linux, so I will definitely change that. I am not quite sure about Windows though, as I came across [[ https://www.phoronix.com/scan.php?page=news_item&px=LLVM-LLDB-Debugger-For-Windows | this article ]]. Would changing this to "This option can be used on both UNIX and Linux" be adequate?
> > Since the implementation is:
> > ```
> > if (LLVM_USE_SPLIT_DWARF AND
> >     ((uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG") OR
> >      (uppercase_CMAKE_BUILD_TYPE STREQUAL "RELWITHDEBINFO")))
> >   # Limit to clang and gcc so far. Add compilers supporting this option.
> >   if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR
> >       CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
> >     add_compile_options(-gsplit-dwarf)
> >   endif()
> > endif()
> > ```
> > AFAIK gcc only supports DWARF. Clang supports split-dwarf for ELF targets.
> > 
> > I'd make it a note saying that the option may not be supported on all platforms. On Windows the platform-standard is codeview (`.pdb`) which is always a separate file. I don't know about MacOS.
> Split DWARF is a DWARF+ELF thing, but not tied to an OS. It's specifically not needed/useful/available for Mach-O (Darwin) because debug info isn't processed by Mach-O linkers at all (instead there is dsymutil).
> ` This option may not be supported on all platforms.`

Why be so vague, if we know the answer? Can we just say that this only applies to ELF (e.g, Linux) host platforms?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77346/new/

https://reviews.llvm.org/D77346





More information about the llvm-commits mailing list