Commit Graph

10 Commits

Author SHA1 Message Date
Eric Beckmann
fa58033db5 Fix bug 34608 by moving private header out of public header.
WindowsManifestMerger.h should not include llvm/Config/config.h, since it is private.  The include has been moved to the source instead.

Summary:
The checksums had already been placed in the IR, this patch allows
MCCodeView to actually write it out to an MCStreamer.

Move private config.h header dependency out of public header file.

Addresses Bug 34608

Subscribers: javed.absar, hiraditya, llvm-commits

Differential Revision: https://reviews.llvm.org/D37863

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313312 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-14 23:01:13 +00:00
Eric Beckmann
e8aea2996e Fix crbug 759265 by suppressing llvm mt warnings.
Summary:
Previous would throw warning whenever libxml2 is not installed.  Now
only give this warning if merging manifest fails.

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D37240

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312604 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-06 01:50:36 +00:00
Vitaly Buka
2ce7ffd201 Return copy of XML dump
COFF/DriverUtils.cpp uses buffer after WindowsManifestMerger destroyed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312408 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-02 05:14:55 +00:00
Vitaly Buka
074e282b60 llvm-mt: Fix memory management in WindowsManifestMergerImpl::getMergedManifest
Summary:
xmlDoc needs to be released with xmlFreeDoc.
XML_PARSE_NODICT is needed for safe moving nodes between documents.
Buffer returned from xmlDocDumpFormatMemoryEnc needs xmlFree, but it needs
outlive users of getMergedManifest results.

Reviewers: ecbeckmann, rnk, zturner, ruiu

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D37321

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312406 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-02 03:15:13 +00:00
Vitaly Buka
639888fca5 Revert "llvm-mt: Fix release of OutputDoc"
Multiple bots are broken.

This reverts commit r312207.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312212 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-31 05:32:36 +00:00
Vitaly Buka
9946989531 llvm-mt: Fix release of OutputDoc
Summary:
xmlDoc needs to be released with xmlFreeDoc.
Reset root element before release to avoid release of CombinedRoot owned
by CombinedDoc,

Reviewers: ecbeckmann, rnk, zturner, ruiu

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D37321

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312207 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-31 02:38:58 +00:00
Eric Beckmann
3c6e126a27 Integrate manifest merging library into LLD.
Summary: Now that the llvm-mt manifest merging libraries are complete, we may use them to merge manifests instead of needing to shell out to mt.exe.

Subscribers: mgorny, llvm-commits

Differential Revision: https://reviews.llvm.org/D36255

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311424 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-22 03:15:28 +00:00
Eric Beckmann
79fe5367c1 llvm-mt: Merge manifest namespaces.
mt.exe performs a tree merge where certain element nodes are combined
into one.  This introduces the possibility of xml namespaces conflicting
with each other.  The original mt.exe has a hierarchy whereby certain
namespace names can override others, and nodes that would then end up in
ambigious namespaces have their namespaces explicitly defined.  This
namespace handles this merging process.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311215 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-19 00:37:41 +00:00
Eric Beckmann
6caf087110 Unlink nodes instead of copying, to avoid memory problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309151 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-26 18:33:21 +00:00
Eric Beckmann
f74bed27b4 Move manifest utils into separate lib, to reduce libxml2 deps.
Summary:
Previously were in support.  Since many many things depend on support,
were all forced to also depend on libxml2, which we only want in a few cases.
This puts all the libxml2 deps in a separate lib to be used only in a few
places.

Reviewers: ruiu, thakis, rnk

Subscribers: mgorny, hiraditya, llvm-commits

Differential Revision: https://reviews.llvm.org/D35819

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309070 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-26 01:21:55 +00:00