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