[Lldb-commits] [lldb] r319653 - Makefile.rules: compile all tests with -fno-limit-debug-info
Davide Italiano via lldb-commits
lldb-commits at lists.llvm.org
Wed Dec 6 09:45:54 PST 2017
I'll fix this now (my top priority :)
On Wed, Dec 6, 2017 at 9:44 AM, Adrian Prantl <aprantl at apple.com> wrote:
>> 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.
> -- adrian
More information about the lldb-commits