[Lldb-commits] [lldb] r319653 - Makefile.rules: compile all tests with -fno-limit-debug-info

Robinson, Paul via lldb-commits lldb-commits at lists.llvm.org
Wed Dec 6 09:35:37 PST 2017

> -----Original Message-----
> From: Pavel Labath [mailto:labath at google.com]
> Sent: Wednesday, December 06, 2017 4:09 AM
> To: Jason Molenda
> Cc: lldb-commits at lists.llvm.org; Robinson, Paul
> Subject: Re: [Lldb-commits] [lldb] r319653 - Makefile.rules: compile all
> tests with -fno-limit-debug-info
> On 6 December 2017 at 01:54, Jason Molenda <jmolenda at apple.com> wrote:
> > It looks like the macos testsuite on the bot is broken with this -
> >
> > http://lab.llvm.org:8080/green/view/LLDB/job/lldb/3086/
> >
> > On my desktop with a recent clang, it works fine.  But it seems like
> every test? most tests? are failing with
> >
> > error: parsing line table prologue at 0x00000000 (parsing ended around
> 0x00000000
> >
> > messages now.
> >
> > When I run one test by hand on my system, I have the -fno-limit-debug-
> info flag:
> >
> > ./dotest.py -t -v -v
> ../packages//Python/lldbsuite/test/functionalities/breakpoint/auto_continu
> e/
> >
> >
> >
> > stdout:
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolc
> hain/usr/bin/clang -g -O0 -fno-builtin -arch x86_64  -
> I/Volumes/newwork/svn/lldb/packages/Python/lldbsuite/test/make/../../../..
> /../include -include
> /Volumes/newwork/svn/lldb/packages/Python/lldbsuite/test/make/test_common.
> h -I/Volumes/newwork/svn/lldb/packages/Python/lldbsuite/test/make/  -fno-
> limit-debug-info  -std=c99   -c -o main.o main.c
> >
> >
> >
> > I'm not sure if the bots are building against too new or too new a
> compiler - if we're looking at a bug or it just does something weird when
> given -fno-limit-debug-info?
> I was able to reproduce this by running the tests against the
> top-of-tree clang (which is what that bot does). It's not all tests
> that break, just the ones using dSYM debug info.
> While this patch is a reasonable first guess, it is actually *not* the
> source of the breakage. The culprit is
> <https://reviews.llvm.org/D38002>, which was present in the same
> patchset. It seems this change makes clang emit different line table
> headers. After that, dsymutil fails to process the files because it
> detects a header mismatch (and lldb breaks because it cannot find the
> line table or it is corrupt). I've cc'ed Paul in case he has any
> insight.
> Maybe dsymutil needs to be updated to handle the new line tables?
> pl

When I committed D38002, it broke debuginfo-tests on greendragon
because it was using an older lldb and/or dsymutil that didn't know
how to parse v3 or v4 line-table headers.  Adrian Prantl pinned
the failing debuginfo-tests to v2 (change -g to -gdwarf-2) while that 
gets sorted out.

I expect the same thing is happening here.  The same workaround should
apply here; the long-term fix is to update dsymutil.

I really would rather not make the compiler pin line tables at v2 as
a special case for Darwin, or whatever.

More information about the lldb-commits mailing list