martin krastev
2014-Oct-01 10:45 UTC
[LLVMdev] Issue with incomplete type debug info in recent release_35
Hello, disclaimer/ Apologies if this is the wrong llvm/clang mailing list; please, direct me to the right one if needed. /disclaimer I've been experiencing issues with incomplete type info when debugging code generated by clang 3.5.0 from the recent release_35 branch. Generally, the problem manifests itself as the inability to examine any std::string parameter to a function, in either gdb or lldb: (lldb) p arg_string (std::string) $4 = error: summary string parsing error (gdb) p arg_string $2 = (const std::string &) @0x7fffffffd948: <incomplete type> This is observed on two separate amd64 machines under Ubuntu 12.04, with both the nightly build packages from the llvm-toolchain-precise-3.5 repo ( http://llvm.org/apt/) and when built locally from svn branch release_35. It bears noting that on the same machines an older, locally-built version of pre-3.5.0 (trunk circa rev 198K) does not exhibit the problem. Is that a known regression, or shall I try to file a ticket for it? Regards, Martin Krastev -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141001/e3c47f15/attachment.html>
David Blaikie
2014-Oct-01 15:27 UTC
[LLVMdev] Issue with incomplete type debug info in recent release_35
On Wed, Oct 1, 2014 at 3:45 AM, martin krastev <blu.dark at gmail.com> wrote:> Hello, > > disclaimer/ Apologies if this is the wrong llvm/clang mailing list; > please, direct me to the right one if needed. /disclaimer > > I've been experiencing issues with incomplete type info when debugging > code generated by clang 3.5.0 from the recent release_35 branch. > > Generally, the problem manifests itself as the inability to examine any > std::string parameter to a function, in either gdb or lldb: > > (lldb) p arg_string > (std::string) $4 = error: summary string parsing error > > (gdb) p arg_string > $2 = (const std::string &) @0x7fffffffd948: <incomplete type> > > This is observed on two separate amd64 machines under Ubuntu 12.04, with > both the nightly build packages from the llvm-toolchain-precise-3.5 repo ( > http://llvm.org/apt/) and when built locally from svn branch release_35. > It bears noting that on the same machines an older, locally-built version > of pre-3.5.0 (trunk circa rev 198K) does not exhibit the problem. > > Is that a known regression, or shall I try to file a ticket for it? >Do you have the -dbg package of your standard library installed? Try installing that and see if it resolves the issue. There are some improvements to debug info size that rely on the whole project (and library dependencies) being built with debug info enabled (GCC does similar optimizations, FWIW - though not the one that's firing on std::string specifically). Or if you'd just rather turn off the optimization, pass -fstandalone-debug. If neither of those things work - please file a bug with a reduced test case, etc. (for the record, the specific commit that likely caused the change in behavior you're observing is http://llvm.org/viewvc/llvm-project?rev=202769&view=rev (though we implemented the optimization GCC already implemented a few months before that - which applies to types with vtables, like standard iostreams)) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141001/42a21b8e/attachment.html>
martin krastev
2014-Oct-01 17:33 UTC
[LLVMdev] Issue with incomplete type debug info in recent release_35
Hi David, Passing -fstandalone-debug solved the issue. Thanks! Regards, Martin Krastev On Wed, Oct 1, 2014 at 6:27 PM, David Blaikie <dblaikie at gmail.com> wrote:> > > On Wed, Oct 1, 2014 at 3:45 AM, martin krastev <blu.dark at gmail.com> wrote: > >> Hello, >> >> disclaimer/ Apologies if this is the wrong llvm/clang mailing list; >> please, direct me to the right one if needed. /disclaimer >> >> I've been experiencing issues with incomplete type info when debugging >> code generated by clang 3.5.0 from the recent release_35 branch. >> >> Generally, the problem manifests itself as the inability to examine any >> std::string parameter to a function, in either gdb or lldb: >> >> (lldb) p arg_string >> (std::string) $4 = error: summary string parsing error >> >> (gdb) p arg_string >> $2 = (const std::string &) @0x7fffffffd948: <incomplete type> >> >> This is observed on two separate amd64 machines under Ubuntu 12.04, with >> both the nightly build packages from the llvm-toolchain-precise-3.5 repo >> (http://llvm.org/apt/) and when built locally from svn branch >> release_35. It bears noting that on the same machines an older, >> locally-built version of pre-3.5.0 (trunk circa rev 198K) does not exhibit >> the problem. >> >> Is that a known regression, or shall I try to file a ticket for it? >> > > Do you have the -dbg package of your standard library installed? Try > installing that and see if it resolves the issue. > > There are some improvements to debug info size that rely on the whole > project (and library dependencies) being built with debug info enabled (GCC > does similar optimizations, FWIW - though not the one that's firing on > std::string specifically). Or if you'd just rather turn off the > optimization, pass -fstandalone-debug. > > If neither of those things work - please file a bug with a reduced test > case, etc. > > (for the record, the specific commit that likely caused the change in > behavior you're observing is > http://llvm.org/viewvc/llvm-project?rev=202769&view=rev (though we > implemented the optimization GCC already implemented a few months before > that - which applies to types with vtables, like standard iostreams)) > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141001/c9344d4e/attachment.html>