This looks like a good improvement for clarity. Should wait for Rui's approval before submitting.
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Mar 30 2018
Nov 10 2017
Oct 16 2017
Oct 13 2017
Sep 15 2017
Updated comment formatting.
Changed some comments.
Sep 14 2017
Removed some last unnecessary changes.
Some formatting fixes.
Don't leak symbol into assembler, remove enum class, use createTempSymbol.
Put synonymous header first.
Reformat.
Reformat
Exclude checksums
This looks good to me.
Sep 13 2017
Format
Remove errant errors.
Sep 12 2017
Restructrue, create real symbol not temp.
Add checksum offset directive.
Sep 9 2017
Why do we have to add placeholders for the checksum offsets? Aren't they just added in order, one after another?
Fortunately this seems to work whether generating assembly or object
Make this entire thing easier to follow and understand.
Sep 8 2017
Everything works finally.
Imprved?
Use MCFixup
Sep 7 2017
Sep 6 2017
Some more testing changes.
Sep 5 2017
Add line to end of file.
tests
Use stringref
return string instead of buffer
Make isAvailable() function instead of using flag.
In D37240#861561, @ruiu wrote:Hmm, now it doesn't look like it is towards a right direction.
As I understand the API of your WindowsManifestMerger class, it provides an empty implementation if libxml2 is not available so any code that uses your WindowsManifestMerger class can compile at least on any condition (though it may raise an error/returns an empty result at runtime if it wasn't compiled with libxml2). This patch uses conditional compilation to avoid compiler errors, which seems a violation of the rule.
Have internal lld functions return result directly and handle errors themselves.
Sorry, previous patch did not compile and method of assigning config flag was incorrect.
In D37321#859384, @vitalybuka wrote:This seems better than using XML_PARSE_NODICT, because we also address the issue of any other memory I might have failed to copy....I could do this in a subsequent patch.
So I'll submit the patch?
I'll try to enable this on our asan bot to detect problems in future.
In D37240#859371, @zturner wrote:We have similar issues in the PDB code, where we might want to use the native pdb reader or the DIA reader. To handle this, we have an enumeration:
/// Specifies which PDB reader implementation is to be used. Only a value /// of PDB_ReaderType::DIA is currently supported, but Native is in the works. enum class PDB_ReaderType { DIA = 0, Native = 1, };Then, when you actually call the function to load the PDB, it looks like this:
// Create the correct concrete instance type based on the value of Type. if (Type == PDB_ReaderType::Native) return NativeSession::createFromPdb(Path, Session); #if LLVM_ENABLE_DIA_SDK return DIASession::createFromPdb(Path, Session); #else return make_error<GenericError>("DIA is not installed on the system"); #endifThen the user could write something like:
if (auto EC = loadDataForPDB(PDB_ReaderType::DIA, Session)) { if (auto EC2 = loadDataForPDB(PDB_ReaderType::Native, Session)) { return make_error<Foo>("PDB Unsupported"); } } // Now I have either a native session or a DIA session, but I don't know (or care) which. return Session;
Add flag for manifest library being enabled.
Sep 1 2017
In D37321#859285, @vitalybuka wrote:In D37321#859258, @ecbeckmann wrote:Sorry for being so late to respond to this, I've been busy with team match this week.
Thanks for catching these errors. It was my fault for just using unique_ptr instead of explicitly calling xmlFree on the xmlDoc structures. However, I'm confused about the XML_PARSE_NODICT flag, how will this help? As far as I can tell it prevents the creation of a new string dictionary for that xmlDoc that is parsed? Which could be a problem if I had href's and namespaces in one tree point to another. However I never do this and always duplicate the entire string from one tree to another.
As soon as I start to delete OutputDoc correctly xmlFreeDoc(Doc) in ~WindowsManifestMergerImpl() fails. I guess I see this both with or without asan. XML_PARSE_NODICT helps.
Also out of curiosity how did you discover the presence of memory problems? I've looked on msan and nothing seems to be there.
check-llvm under msan disables libxml (and other 3rd party deps) as msan needs them instrumented as well.
I am using check-llvm with asan
Sorry for being so late to respond to this, I've been busy with team match this week.
Aug 30 2017
Remove one more consume.
Remove unnecessary consume because toString consumes error.
Throw errors that internal mt has if they are not related to lack of libxml2.
Aug 29 2017
Aug 28 2017
Remove unnecessary error move assignment.
Add -allow-empty
Aug 25 2017
Rebase
Aug 23 2017
Add comment
Looks fine to me.
Make factory function instead of having constructor fail.
Aug 22 2017
Remove unnecessary braces
Looks fine to me.
This looks fine now.
This looks fine to me.