[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 -
>>>>
>>>> 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.
>
> 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
>
>> --paulr
>


More information about the lldb-commits mailing list