[Lldb-commits] [PATCH] D19998: Add a "-gmodules" category to the test suite.

Adrian Prantl via lldb-commits lldb-commits at lists.llvm.org
Tue May 24 18:25:41 PDT 2016


aprantl added a comment.

In http://reviews.llvm.org/D19998#438666, @tfiala wrote:

> In http://reviews.llvm.org/D19998#438614, @zturner wrote:
>
> > So I asked some of the guys here, and they said modules debug info (in particular -gmodules) will not work anywhere but OSX.
>
>
> I don't think that's right.  I ran all these tests on Linux, and our debug info guy (Adrian Prantl) thinks it is better supported on Linux than OS X.  ?  I'll let Adrian weigh in on that though.  I got all but the one dead code stripping test to run fine on Ubuntu 14.04 x86_64.


Clang modules themselves (-fmodules) can be thought of as almost a build system / preprocessor feature that does not or rather can not have any effect on the debugger at all. Darwin (OS X, iOS, ...) supports clang modules for C and Objective-C very well. C++ clang modules are not supported on Darwin. On Linux clang modules are supported, including C++ modules. I believe I also heard of people using clang modules on FreeBSD. On Windows, clang can build and use modules, but I don't think anyone is using/testing this actively.

Clang module debugging (-fmodules -gmodules) affects the debugger (debug info for module types is emitted only once in the compiled module and referred to by reference in the object files). It is fully supported on Darwin. On Linux, can in theory support it (there may be some unresolved bugs with DWOs), but nobody tested this so far and this patch would make it possible to figure out where we're at. I think tests should be XFAIL'ed on an individual basis and considered bugs if they don't work on Linux.

- adrian


http://reviews.llvm.org/D19998





More information about the lldb-commits mailing list