<div dir="ltr">Hi Raphael, you need lld built from top of trunk to run the lldb tests. -z separate-code is added by rLLD367537, not included in lld 9.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 2, 2019 at 4:45 AM Raphael Isemann <<a href="mailto:teemperor@gmail.com">teemperor@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This breaks the tests on my machine:<br>
<br>
********************<br>
FAIL: LLDB :: SymbolFile/DWARF/dir-separator-no-comp-dir.s (114 of 1660)<br>
******************** TEST 'LLDB ::<br>
SymbolFile/DWARF/dir-separator-no-comp-dir.s' FAILED<br>
********************<br>
Script:<br>
--<br>
: 'RUN: at line 6';   /home/teemperor/work/3llvm/rel/bin/llvm-mc<br>
-triple x86_64-pc-linux<br>
/home/teemperor/work/3llvm/llvm/lldb/lit/SymbolFile/DWARF/dir-separator-no-comp-dir.s<br>
-filetype=obj ><br>
/home/teemperor/work/3llvm/rel/tools/lldb/lit/SymbolFile/DWARF/Output/dir-separator-no-comp-dir.s.tmp.o<br>
: 'RUN: at line 7';   /usr/bin/ld.lld -z separate-code<br>
/home/teemperor/work/3llvm/rel/tools/lldb/lit/SymbolFile/DWARF/Output/dir-separator-no-comp-dir.s.tmp.o<br>
-o /home/teemperor/work/3llvm/re<br>
l/tools/lldb/lit/SymbolFile/DWARF/Output/dir-separator-no-comp-dir.s.tmp<br>
: 'RUN: at line 8';   /home/teemperor/work/3llvm/rel/bin/lldb<br>
--no-lldbinit -S<br>
/home/teemperor/work/3llvm/rel/tools/lldb/lit/lit-lldb-init<br>
/home/teemperor/work/3llvm/rel/tools/lldb/lit/Symbol<br>
File/DWARF/Output/dir-separator-no-comp-dir.s.tmp -s<br>
/home/teemperor/work/3llvm/llvm/lldb/lit/SymbolFile/DWARF/Inputs/dir-separator-windows.lldbinit<br>
-o exit | /home/teemperor/work/3llvm/rel/b<br>
in/FileCheck /home/teemperor/work/3llvm/llvm/lldb/lit/SymbolFile/DWARF/dir-separator-no-comp-dir.s<br>
--<br>
Exit Code: 1<br>
<br>
Command Output (stderr):<br>
--<br>
ld.lld: error: unknown -z value: separate-code<br>
<br>
--<br>
<br>
> ld.lld -v<br>
LLD 8.0.1 (compatible with GNU linkers)<br>
<br>
Do I need 9.0.0 for this to pass?<br>
<br>
Am Do., 1. Aug. 2019 um 14:38 Uhr schrieb Pavel Labath via<br>
lldb-commits <<a href="mailto:lldb-commits@lists.llvm.org" target="_blank">lldb-commits@lists.llvm.org</a>>:<br>
><br>
> On 01/08/2019 14:34, Fangrui Song via lldb-commits wrote:<br>
> > Author: maskray<br>
> > Date: Thu Aug  1 05:34:43 2019<br>
> > New Revision: 367549<br>
> ><br>
> > URL: <a href="http://llvm.org/viewvc/llvm-project?rev=367549&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=367549&view=rev</a><br>
> > Log:<br>
> > [lit] Use ld.lld -z separate-code to work around a debug_line parsing bug<br>
> ><br>
> > The issue was exposed by D64903/r367537.<br>
> > <a href="http://lab.llvm.org:8011/builders/lldb-x64-windows-ninja/builds/7321/" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/builders/lldb-x64-windows-ninja/builds/7321/</a><br>
> ><br>
> > In these tests, .debug_str immediately follows .text.<br>
> > The last section of last RX PT_LOAD was originally padded with trap<br>
> > instructions and .debug_str started at a new page (actually<br>
> > common-page-size). Now, .debug_str immediately follows .test.<br>
> > Add -z separate-code to use the old layout.<br>
> ><br>
><br>
><br>
> Thanks, I was about to commit the same patch.<br>
><br>
> For future reference, here is my analysis I was going to put into the<br>
> commit message:<br>
><br>
> ---<br>
> The lld patch changed how it lays out data in segments, which was<br>
> resulted in the tiny test funclets being at the very end of a PT_LOAD<br>
> segment. This exposed a bug where lldb does not correctly handle line<br>
> table end-of-sequence entries to the very end of a section (so the byte<br>
> they point to does not actually belong to any section).<br>
><br>
> This is mostly bening in practice, as the code handling line tables will<br>
> terminate as soon as it is not able to resolve an address, which is<br>
> something that would happen after reading the end-of-sequence entry<br>
> anyway. However, these tests assert that we are actually able to parse<br>
> and display the end entry itself, and so they fail.<br>
> ---<br>
> _______________________________________________<br>
> lldb-commits mailing list<br>
> <a href="mailto:lldb-commits@lists.llvm.org" target="_blank">lldb-commits@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">宋方睿</div></div>