[Lldb-commits] [lldb] r319653 - Makefile.rules: compile all tests with -fno-limit-debug-info
Adrian Prantl via lldb-commits
lldb-commits at lists.llvm.org
Wed Dec 6 09:44:08 PST 2017
> On Dec 6, 2017, at 9:35 AM, Robinson, Paul <paul.robinson at sony.com> wrote:
>> -----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 -
>>> 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
>>> 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
>> hain/usr/bin/clang -g -O0 -fno-builtin -arch x86_64 -
>> /../include -include
>> 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
>> Maybe dsymutil needs to be updated to handle the new line tables?
> 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.
Yeah, our plan is to just fix dsymutil and to pin the LLDB tests to -gdwarf-2 as a temporary workaround until we can deploy a new dsymutil to the bots.
More information about the lldb-commits