<div dir="ltr">Hmm, this test should not even be running on these platforms due to the `REQUIRES: diasdk` line.</div><br><div class="gmail_quote"><div dir="ltr">On Mon, Mar 19, 2018 at 1:29 PM Galina Kistanova <<a href="mailto:gkistanova@gmail.com">gkistanova@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello Zachary,<br><br>This commit added broken test one of our builders:<br><a href="http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast" target="_blank">http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast</a><br>. . . <br>Failing Tests (2):<br> . . .<br> lld :: COFF/pdb-natvis.test<br><br>Please have a look?<br><br>The builder was already red and did not send notifications on this.<br><br>Thanks</div><div dir="ltr"><br><br>Galina<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 19, 2018 at 12:53 PM, Zachary Turner via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: zturner<br>
Date: Mon Mar 19 12:53:51 2018<br>
New Revision: 327895<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=327895&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=327895&view=rev</a><br>
Log:<br>
Support embedding natvis files in PDBs.<br>
<br>
Natvis is a debug language supported by Visual Studio for<br>
specifying custom visualizers. The /NATVIS option is an<br>
undocumented link.exe flag which will take a .natvis file<br>
and "inject" it into the PDB. This way, you can ship the<br>
debug visualizers for a program along with the PDB, which<br>
is very useful for postmortem debugging.<br>
<br>
This is implemented by adding a new "named stream" to the<br>
PDB with a special name of /src/files/<natvis file name><br>
and simply copying the contents of the xml into this file.<br>
<br>
Additionally, we need to emit a single stream named<br>
/src/headerblock which contains a hash table of embedded<br>
files to records describing them.<br>
<br>
This patch adds this functionality, including the /NATVIS<br>
option to lld-link.<br>
<br>
Differential Revision: <a href="https://reviews.llvm.org/D44328" rel="noreferrer" target="_blank">https://reviews.llvm.org/D44328</a><br>
<br>
Added:<br>
lld/trunk/test/COFF/Inputs/generic.yaml<br>
lld/trunk/test/COFF/Inputs/natvis-1.natvis<br>
lld/trunk/test/COFF/Inputs/natvis-2.natvis<br>
lld/trunk/test/COFF/Inputs/natvis-3.natvis<br>
lld/trunk/test/COFF/pdb-natvis.test<br>
Modified:<br>
lld/trunk/COFF/Config.h<br>
lld/trunk/COFF/Driver.cpp<br>
lld/trunk/COFF/Options.td<br>
lld/trunk/COFF/PDB.cpp<br>
lld/trunk/test/<a href="http://lit.cfg.py" rel="noreferrer" target="_blank">lit.cfg.py</a><br>
lld/trunk/test/<a href="http://lit.site.cfg.py.in" rel="noreferrer" target="_blank">lit.site.cfg.py.in</a><br>
<br>
Modified: lld/trunk/COFF/Config.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Config.h?rev=327895&r1=327894&r2=327895&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Config.h?rev=327895&r1=327894&r2=327895&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/COFF/Config.h (original)<br>
+++ lld/trunk/COFF/Config.h Mon Mar 19 12:53:51 2018<br>
@@ -99,6 +99,7 @@ struct Configuration {<br>
bool DebugGHashes = false;<br>
bool ShowTiming = false;<br>
unsigned DebugTypes = static_cast<unsigned>(DebugType::None);<br>
+ std::vector<std::string> NatvisFiles;<br>
llvm::SmallString<128> PDBPath;<br>
std::vector<llvm::StringRef> Argv;<br>
<br>
<br>
Modified: lld/trunk/COFF/Driver.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Driver.cpp?rev=327895&r1=327894&r2=327895&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Driver.cpp?rev=327895&r1=327894&r2=327895&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/COFF/Driver.cpp (original)<br>
+++ lld/trunk/COFF/Driver.cpp Mon Mar 19 12:53:51 2018<br>
@@ -933,9 +933,12 @@ void LinkerDriver::link(ArrayRef<const c<br>
<br>
// Handle /pdb<br>
bool ShouldCreatePDB = Args.hasArg(OPT_debug, OPT_debug_ghash);<br>
- if (ShouldCreatePDB)<br>
+ if (ShouldCreatePDB) {<br>
if (auto *Arg = Args.getLastArg(OPT_pdb))<br>
Config->PDBPath = Arg->getValue();<br>
+ if (Args.hasArg(OPT_natvis))<br>
+ Config->NatvisFiles = Args.getAllArgValues(OPT_natvis);<br>
+ }<br>
<br>
// Handle /noentry<br>
if (Args.hasArg(OPT_noentry)) {<br>
<br>
Modified: lld/trunk/COFF/Options.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Options.td?rev=327895&r1=327894&r2=327895&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Options.td?rev=327895&r1=327894&r2=327895&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/COFF/Options.td (original)<br>
+++ lld/trunk/COFF/Options.td Mon Mar 19 12:53:51 2018<br>
@@ -45,6 +45,7 @@ def nodefaultlib : P<"nodefaultlib", "Re<br>
def opt : P<"opt", "Control optimizations">;<br>
def order : P<"order", "Put functions in order">;<br>
def out : P<"out", "Path to file to write output">;<br>
+def natvis : P<"natvis", "Path to natvis file to embed in the PDB">;<br>
def pdb : P<"pdb", "PDB file path">;<br>
def section : P<"section", "Specify section attributes">;<br>
def stack : P<"stack", "Size of the stack">;<br>
@@ -162,7 +163,6 @@ def delay : QF<"delay">;<br>
def errorreport : QF<"errorreport">;<br>
def idlout : QF<"idlout">;<br>
def maxilksize : QF<"maxilksize">;<br>
-def natvis : QF<"natvis">;<br>
def pdbaltpath : QF<"pdbaltpath">;<br>
def tlbid : QF<"tlbid">;<br>
def tlbout : QF<"tlbout">;<br>
<br>
Modified: lld/trunk/COFF/PDB.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/PDB.cpp?rev=327895&r1=327894&r2=327895&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/PDB.cpp?rev=327895&r1=327894&r2=327895&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/COFF/PDB.cpp (original)<br>
+++ lld/trunk/COFF/PDB.cpp Mon Mar 19 12:53:51 2018<br>
@@ -90,6 +90,9 @@ public:<br>
/// Emit the basic PDB structure: initial streams, headers, etc.<br>
void initialize(const llvm::codeview::DebugInfo &BuildId);<br>
<br>
+ /// Add natvis files specified on the command line.<br>
+ void addNatvisFiles();<br>
+<br>
/// Link CodeView from each object file in the symbol table into the PDB.<br>
void addObjectsToPDB();<br>
<br>
@@ -961,6 +964,18 @@ void PDBLinker::addObjectsToPDB() {<br>
}<br>
}<br>
<br>
+void PDBLinker::addNatvisFiles() {<br>
+ for (StringRef File : Config->NatvisFiles) {<br>
+ ErrorOr<std::unique_ptr<MemoryBuffer>> DataOrErr =<br>
+ MemoryBuffer::getFile(File);<br>
+ if (!DataOrErr) {<br>
+ warn("Cannot open input file: " + File);<br>
+ continue;<br>
+ }<br>
+ Builder.addInjectedSource(File, std::move(*DataOrErr));<br>
+ }<br>
+}<br>
+<br>
static void addCommonLinkerModuleSymbols(StringRef Path,<br>
pdb::DbiModuleDescriptorBuilder &Mod,<br>
BumpPtrAllocator &Allocator) {<br>
@@ -1041,6 +1056,7 @@ void coff::createPDB(SymbolTable *Symtab<br>
PDB.initialize(BuildId);<br>
PDB.addObjectsToPDB();<br>
PDB.addSections(OutputSections, SectionTable);<br>
+ PDB.addNatvisFiles();<br>
<br>
ScopedTimer T2(DiskCommitTimer);<br>
PDB.commit();<br>
<br>
Added: lld/trunk/test/COFF/Inputs/generic.yaml<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/generic.yaml?rev=327895&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/generic.yaml?rev=327895&view=auto</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/Inputs/generic.yaml (added)<br>
+++ lld/trunk/test/COFF/Inputs/generic.yaml Mon Mar 19 12:53:51 2018<br>
@@ -0,0 +1,282 @@<br>
+--- !COFF<br>
+header:<br>
+ Machine: IMAGE_FILE_MACHINE_AMD64<br>
+ Characteristics: [ ]<br>
+sections:<br>
+ - Name: .text<br>
+ Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]<br>
+ Alignment: 16<br>
+ SectionData: 4883EC1831C0C7442414000000004889542408894C24044883C418C3<br>
+ - Name: .data<br>
+ Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]<br>
+ Alignment: 4<br>
+ SectionData: ''<br>
+ - Name: .bss<br>
+ Characteristics: [ IMAGE_SCN_CNT_UNINITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]<br>
+ Alignment: 4<br>
+ SectionData: ''<br>
+ - Name: .xdata<br>
+ Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]<br>
+ Alignment: 4<br>
+ SectionData: '0104010004220000'<br>
+ - Name: .drectve<br>
+ Characteristics: [ IMAGE_SCN_LNK_INFO, IMAGE_SCN_LNK_REMOVE ]<br>
+ Alignment: 1<br>
+ SectionData: 202F44454641554C544C49423A6C6962636D742E6C6962202F44454641554C544C49423A6F6C646E616D65732E6C6962<br>
+ - Name: '.debug$S'<br>
+ Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]<br>
+ Alignment: 4<br>
+ SectionData: 04000000F10000002F0000002D003C1101000000D0000700000000000000581B000000000000636C616E672076657273696F6E20372E302E30200000F1000000760000002A0047110000000000000000000000001C000000000000000000000003100000000000000000006D61696E000D003E117400000001006172676300120045114F0100000400000017000000000005000D003E110010000001006172677600120045114F01000008000000170000000000050002004F110000F20000002800000000000000000000001C00000000000000020000001C00000000000000020000001700000003000000F40000001800000001000000100139E9A066A1995A99DD01F5A392F26D7C0000F30000003000000000443A5C7372635C6C6C766D6275696C645C636C5C52656C656173655C7836345C67656E657269632E63707000000000<br>
+ Subsections:<br>
+ - !Symbols<br>
+ Records:<br>
+ - Kind: S_COMPILE3<br>
+ Compile3Sym:<br>
+ Flags: [ ]<br>
+ Machine: X64<br>
+ FrontendMajor: 7<br>
+ FrontendMinor: 0<br>
+ FrontendBuild: 0<br>
+ FrontendQFE: 0<br>
+ BackendMajor: 7000<br>
+ BackendMinor: 0<br>
+ BackendBuild: 0<br>
+ BackendQFE: 0<br>
+ Version: 'clang version 7.0.0 '<br>
+ - !Symbols<br>
+ Records:<br>
+ - Kind: S_GPROC32_ID<br>
+ ProcSym:<br>
+ CodeSize: 28<br>
+ DbgStart: 0<br>
+ DbgEnd: 0<br>
+ FunctionType: 4099<br>
+ Flags: [ ]<br>
+ DisplayName: main<br>
+ - Kind: S_LOCAL<br>
+ LocalSym:<br>
+ Type: 116<br>
+ Flags: [ IsParameter ]<br>
+ VarName: argc<br>
+ - Kind: S_DEFRANGE_REGISTER_REL<br>
+ DefRangeRegisterRelSym:<br>
+ Register: 335<br>
+ Flags: 0<br>
+ BasePointerOffset: 4<br>
+ Range:<br>
+ OffsetStart: 23<br>
+ ISectStart: 0<br>
+ Range: 5<br>
+ Gaps:<br>
+ - Kind: S_LOCAL<br>
+ LocalSym:<br>
+ Type: 4096<br>
+ Flags: [ IsParameter ]<br>
+ VarName: argv<br>
+ - Kind: S_DEFRANGE_REGISTER_REL<br>
+ DefRangeRegisterRelSym:<br>
+ Register: 335<br>
+ Flags: 0<br>
+ BasePointerOffset: 8<br>
+ Range:<br>
+ OffsetStart: 23<br>
+ ISectStart: 0<br>
+ Range: 5<br>
+ Gaps:<br>
+ - Kind: S_PROC_ID_END<br>
+ ScopeEndSym:<br>
+ - !Lines<br>
+ CodeSize: 28<br>
+ Flags: [ ]<br>
+ RelocOffset: 0<br>
+ RelocSegment: 0<br>
+ Blocks:<br>
+ - FileName: 'D:\src\llvmbuild\cl\Release\x64\generic.cpp'<br>
+ Lines:<br>
+ - Offset: 0<br>
+ LineStart: 2<br>
+ IsStatement: false<br>
+ EndDelta: 0<br>
+ - Offset: 23<br>
+ LineStart: 3<br>
+ IsStatement: false<br>
+ EndDelta: 0<br>
+ Columns:<br>
+ - !FileChecksums<br>
+ Checksums:<br>
+ - FileName: 'D:\src\llvmbuild\cl\Release\x64\generic.cpp'<br>
+ Kind: MD5<br>
+ Checksum: 39E9A066A1995A99DD01F5A392F26D7C<br>
+ - !StringTable<br>
+ Strings:<br>
+ - 'D:\src\llvmbuild\cl\Release\x64\generic.cpp'<br>
+ - ''<br>
+ - ''<br>
+ - ''<br>
+ Relocations:<br>
+ - VirtualAddress: 100<br>
+ SymbolName: main<br>
+ Type: IMAGE_REL_AMD64_SECREL<br>
+ - VirtualAddress: 104<br>
+ SymbolName: main<br>
+ Type: IMAGE_REL_AMD64_SECTION<br>
+ - VirtualAddress: 139<br>
+ SymbolName: .text<br>
+ Type: IMAGE_REL_AMD64_SECREL<br>
+ - VirtualAddress: 143<br>
+ SymbolName: .text<br>
+ Type: IMAGE_REL_AMD64_SECTION<br>
+ - VirtualAddress: 174<br>
+ SymbolName: .text<br>
+ Type: IMAGE_REL_AMD64_SECREL<br>
+ - VirtualAddress: 178<br>
+ SymbolName: .text<br>
+ Type: IMAGE_REL_AMD64_SECTION<br>
+ - VirtualAddress: 196<br>
+ SymbolName: main<br>
+ Type: IMAGE_REL_AMD64_SECREL<br>
+ - VirtualAddress: 200<br>
+ SymbolName: main<br>
+ Type: IMAGE_REL_AMD64_SECTION<br>
+ - Name: '.debug$T'<br>
+ Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]<br>
+ Alignment: 4<br>
+ SectionData: 040000000A000210700600000C0001000E0001120200000074000000001000000E0008107400000000000200011000001200011600000000021000006D61696E00F3F2F1<br>
+ Types:<br>
+ - Kind: LF_POINTER<br>
+ Pointer:<br>
+ ReferentType: 1648<br>
+ Attrs: 65548<br>
+ - Kind: LF_ARGLIST<br>
+ ArgList:<br>
+ ArgIndices: [ 116, 4096 ]<br>
+ - Kind: LF_PROCEDURE<br>
+ Procedure:<br>
+ ReturnType: 116<br>
+ CallConv: NearC<br>
+ Options: [ None ]<br>
+ ParameterCount: 2<br>
+ ArgumentList: 4097<br>
+ - Kind: LF_FUNC_ID<br>
+ FuncId:<br>
+ ParentScope: 0<br>
+ FunctionType: 4098<br>
+ Name: main<br>
+ - Name: .pdata<br>
+ Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]<br>
+ Alignment: 4<br>
+ SectionData: 000000001C00000000000000<br>
+ Relocations:<br>
+ - VirtualAddress: 0<br>
+ SymbolName: main<br>
+ Type: IMAGE_REL_AMD64_ADDR32NB<br>
+ - VirtualAddress: 4<br>
+ SymbolName: main<br>
+ Type: IMAGE_REL_AMD64_ADDR32NB<br>
+ - VirtualAddress: 8<br>
+ SymbolName: .xdata<br>
+ Type: IMAGE_REL_AMD64_ADDR32NB<br>
+symbols:<br>
+ - Name: .text<br>
+ Value: 0<br>
+ SectionNumber: 1<br>
+ SimpleType: IMAGE_SYM_TYPE_NULL<br>
+ ComplexType: IMAGE_SYM_DTYPE_NULL<br>
+ StorageClass: IMAGE_SYM_CLASS_STATIC<br>
+ SectionDefinition:<br>
+ Length: 28<br>
+ NumberOfRelocations: 0<br>
+ NumberOfLinenumbers: 0<br>
+ CheckSum: 594448369<br>
+ Number: 1<br>
+ - Name: .data<br>
+ Value: 0<br>
+ SectionNumber: 2<br>
+ SimpleType: IMAGE_SYM_TYPE_NULL<br>
+ ComplexType: IMAGE_SYM_DTYPE_NULL<br>
+ StorageClass: IMAGE_SYM_CLASS_STATIC<br>
+ SectionDefinition:<br>
+ Length: 0<br>
+ NumberOfRelocations: 0<br>
+ NumberOfLinenumbers: 0<br>
+ CheckSum: 0<br>
+ Number: 2<br>
+ - Name: .bss<br>
+ Value: 0<br>
+ SectionNumber: 3<br>
+ SimpleType: IMAGE_SYM_TYPE_NULL<br>
+ ComplexType: IMAGE_SYM_DTYPE_NULL<br>
+ StorageClass: IMAGE_SYM_CLASS_STATIC<br>
+ SectionDefinition:<br>
+ Length: 0<br>
+ NumberOfRelocations: 0<br>
+ NumberOfLinenumbers: 0<br>
+ CheckSum: 0<br>
+ Number: 3<br>
+ - Name: .xdata<br>
+ Value: 0<br>
+ SectionNumber: 4<br>
+ SimpleType: IMAGE_SYM_TYPE_NULL<br>
+ ComplexType: IMAGE_SYM_DTYPE_NULL<br>
+ StorageClass: IMAGE_SYM_CLASS_STATIC<br>
+ SectionDefinition:<br>
+ Length: 8<br>
+ NumberOfRelocations: 0<br>
+ NumberOfLinenumbers: 0<br>
+ CheckSum: 1192424177<br>
+ Number: 4<br>
+ - Name: .drectve<br>
+ Value: 0<br>
+ SectionNumber: 5<br>
+ SimpleType: IMAGE_SYM_TYPE_NULL<br>
+ ComplexType: IMAGE_SYM_DTYPE_NULL<br>
+ StorageClass: IMAGE_SYM_CLASS_STATIC<br>
+ SectionDefinition:<br>
+ Length: 48<br>
+ NumberOfRelocations: 0<br>
+ NumberOfLinenumbers: 0<br>
+ CheckSum: 149686238<br>
+ Number: 5<br>
+ - Name: '.debug$S'<br>
+ Value: 0<br>
+ SectionNumber: 6<br>
+ SimpleType: IMAGE_SYM_TYPE_NULL<br>
+ ComplexType: IMAGE_SYM_DTYPE_NULL<br>
+ StorageClass: IMAGE_SYM_CLASS_STATIC<br>
+ SectionDefinition:<br>
+ Length: 324<br>
+ NumberOfRelocations: 8<br>
+ NumberOfLinenumbers: 0<br>
+ CheckSum: <a href="tel:(419)%20671-7433" value="+14196717433" target="_blank">4196717433</a><br>
+ Number: 6<br>
+ - Name: '.debug$T'<br>
+ Value: 0<br>
+ SectionNumber: 7<br>
+ SimpleType: IMAGE_SYM_TYPE_NULL<br>
+ ComplexType: IMAGE_SYM_DTYPE_NULL<br>
+ StorageClass: IMAGE_SYM_CLASS_STATIC<br>
+ SectionDefinition:<br>
+ Length: 68<br>
+ NumberOfRelocations: 0<br>
+ NumberOfLinenumbers: 0<br>
+ CheckSum: 485351071<br>
+ Number: 7<br>
+ - Name: .pdata<br>
+ Value: 0<br>
+ SectionNumber: 8<br>
+ SimpleType: IMAGE_SYM_TYPE_NULL<br>
+ ComplexType: IMAGE_SYM_DTYPE_NULL<br>
+ StorageClass: IMAGE_SYM_CLASS_STATIC<br>
+ SectionDefinition:<br>
+ Length: 12<br>
+ NumberOfRelocations: 3<br>
+ NumberOfLinenumbers: 0<br>
+ CheckSum: 722740324<br>
+ Number: 8<br>
+ - Name: main<br>
+ Value: 0<br>
+ SectionNumber: 1<br>
+ SimpleType: IMAGE_SYM_TYPE_NULL<br>
+ ComplexType: IMAGE_SYM_DTYPE_FUNCTION<br>
+ StorageClass: IMAGE_SYM_CLASS_EXTERNAL<br>
+...<br>
<br>
Added: lld/trunk/test/COFF/Inputs/natvis-1.natvis<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/natvis-1.natvis?rev=327895&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/natvis-1.natvis?rev=327895&view=auto</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/Inputs/natvis-1.natvis (added)<br>
+++ lld/trunk/test/COFF/Inputs/natvis-1.natvis Mon Mar 19 12:53:51 2018<br>
@@ -0,0 +1 @@<br>
+1st Natvis Test<br>
<br>
Added: lld/trunk/test/COFF/Inputs/natvis-2.natvis<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/natvis-2.natvis?rev=327895&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/natvis-2.natvis?rev=327895&view=auto</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/Inputs/natvis-2.natvis (added)<br>
+++ lld/trunk/test/COFF/Inputs/natvis-2.natvis Mon Mar 19 12:53:51 2018<br>
@@ -0,0 +1 @@<br>
+Second Natvis Test<br>
<br>
Added: lld/trunk/test/COFF/Inputs/natvis-3.natvis<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/natvis-3.natvis?rev=327895&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/natvis-3.natvis?rev=327895&view=auto</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/Inputs/natvis-3.natvis (added)<br>
+++ lld/trunk/test/COFF/Inputs/natvis-3.natvis Mon Mar 19 12:53:51 2018<br>
@@ -0,0 +1 @@<br>
+Third Natvis Test<br>
<br>
Added: lld/trunk/test/COFF/pdb-natvis.test<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdb-natvis.test?rev=327895&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/pdb-natvis.test?rev=327895&view=auto</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/pdb-natvis.test (added)<br>
+++ lld/trunk/test/COFF/pdb-natvis.test Mon Mar 19 12:53:51 2018<br>
@@ -0,0 +1,26 @@<br>
+REQUIRES: diasdk<br>
+<br>
+RUN: yaml2obj %p/Inputs/generic.yaml > %t.obj<br>
+RUN: lld-link /DEBUG %t.obj /nodefaultlib /entry:main /NATVIS:%p/Inputs/natvis-1.natvis \<br>
+RUN: /NATVIS:%p/Inputs/natvis-2.natvis /NATVIS:%p/Inputs/natvis-3.natvis /OUT:%t.exe \<br>
+RUN: /PDB:%t.pdb<br>
+RUN: llvm-pdbutil pretty -injected-sources -injected-source-content %t.pdb | FileCheck \<br>
+RUN: --check-prefix=CHECK-FIRST %s<br>
+RUN: llvm-pdbutil pretty -injected-sources -injected-source-content %t.pdb | FileCheck \<br>
+RUN: --check-prefix=CHECK-SECOND %s<br>
+RUN: llvm-pdbutil pretty -injected-sources -injected-source-content %t.pdb | FileCheck \<br>
+RUN: --check-prefix=CHECK-THIRD %s<br>
+<br>
+RUN: lld-link /DEBUG %t.obj /nodefaultlib /entry:main /NATVIS:%p/Inputs/test2.natvis \<br>
+RUN: /OUT:%t.exe /PDB:%t.pdb 2>&1 | FileCheck --check-prefix=CHECK-MISSING %s<br>
+<br>
+CHECK-FIRST: {{.*}}natvis-1.natvis (16 bytes): obj=<null>, vname={{.*}}natvis-1.natvis, crc=355285096, compression=None<br>
+CHECK-FIRST-NEXT: 1st Natvis Test<br>
+<br>
+CHECK-SECOND: {{.*}}natvis-2.natvis (19 bytes): obj=<null>, vname={{.*}}natvis-2.natvis, crc=<a href="tel:(425)%20264-0062" value="+14252640062" target="_blank">4252640062</a>, compression=None<br>
+CHECK-SECOND-NEXT: Second Natvis Test<br>
+<br>
+CHECK-THIRD: {{.*}}natvis-3.natvis (18 bytes): obj=<null>, vname={{.*}}natvis-3.natvis, crc=<a href="tel:(206)%20971-9849" value="+12069719849" target="_blank">2069719849</a>, compression=None<br>
+CHECK-THIRD-NEXT: Third Natvis Test<br>
+<br>
+CHECK-MISSING: Cannot open input file: {{.*}}test2.natvis<br>
\ No newline at end of file<br>
<br>
Modified: lld/trunk/test/<a href="http://lit.cfg.py" rel="noreferrer" target="_blank">lit.cfg.py</a><br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/lit.cfg.py?rev=327895&r1=327894&r2=327895&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/lit.cfg.py?rev=327895&r1=327894&r2=327895&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/<a href="http://lit.cfg.py" rel="noreferrer" target="_blank">lit.cfg.py</a> (original)<br>
+++ lld/trunk/test/<a href="http://lit.cfg.py" rel="noreferrer" target="_blank">lit.cfg.py</a> Mon Mar 19 12:53:51 2018<br>
@@ -85,6 +85,9 @@ if (lit.util.which('cvtres', config.envi<br>
if (config.llvm_libxml2_enabled == '1'):<br>
config.available_features.add('libxml2')<br>
<br>
+if config.have_dia_sdk:<br>
+ config.available_features.add("diasdk")<br>
+<br>
tar_executable = lit.util.which('tar', config.environment['PATH'])<br>
if tar_executable:<br>
tar_version = subprocess.Popen(<br>
<br>
Modified: lld/trunk/test/<a href="http://lit.site.cfg.py.in" rel="noreferrer" target="_blank">lit.site.cfg.py.in</a><br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/lit.site.cfg.py.in?rev=327895&r1=327894&r2=327895&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/lit.site.cfg.py.in?rev=327895&r1=327894&r2=327895&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/<a href="http://lit.site.cfg.py.in" rel="noreferrer" target="_blank">lit.site.cfg.py.in</a> (original)<br>
+++ lld/trunk/test/<a href="http://lit.site.cfg.py.in" rel="noreferrer" target="_blank">lit.site.cfg.py.in</a> Mon Mar 19 12:53:51 2018<br>
@@ -1,5 +1,6 @@<br>
@LIT_SITE_CFG_IN_HEADER@<br>
<br>
+config.have_dia_sdk = "@LLVM_ENABLE_DIA_SDK@"<br>
config.llvm_src_root = "@LLVM_SOURCE_DIR@"<br>
config.llvm_obj_root = "@LLVM_BINARY_DIR@"<br>
config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>
</blockquote></div>