Reland "Implement some functions in NativeSession." with fixes so thatthe tests pass on Linux.Summary:This change implements readFromExe, and calculating VA and RVA, whichare some of the functio
Reland "Implement some functions in NativeSession." with fixes so thatthe tests pass on Linux.Summary:This change implements readFromExe, and calculating VA and RVA, whichare some of the functionalities that will be used for native PDB readingfor llvm symbolizer.bug: https://bugs.llvm.org/show_bug.cgi?id=41795
show more ...
Revert "Implement some NativeSession functions" along with somefollowup fixes.This reverts commitsa6d8a055e92eb4853805d1ad1be0b1a6523524ef4927ae085807731eb4052e0a682443fe9399b5121e1f5eb7c978da3
Revert "Implement some NativeSession functions" along with somefollowup fixes.This reverts commitsa6d8a055e92eb4853805d1ad1be0b1a6523524ef4927ae085807731eb4052e0a682443fe9399b5121e1f5eb7c978da3b062daaf3c32c459704e65a55
Implement some functions in NativeSession.Summary:This change implements readFromExe, and calculating VA and RVA, whichare some of the functionalities that will be used for native PDB readingfor
Implement some functions in NativeSession.Summary:This change implements readFromExe, and calculating VA and RVA, whichare some of the functionalities that will be used for native PDB readingfor llvm symbolizer.bug: https://bugs.llvm.org/show_bug.cgi?id=41795Reviewers: hans, amccarth, rnkSubscribers: hiraditya, llvm-commitsTags: #llvmDifferential Revision: https://reviews.llvm.org/D78128
[PDB] Refactor the PDB symbol classes to fix a reuse bug.The way DIA SDK works is that when you request a symbol, itgets assigned an internal identifier that is unique for thelife of the session.
[PDB] Refactor the PDB symbol classes to fix a reuse bug.The way DIA SDK works is that when you request a symbol, itgets assigned an internal identifier that is unique for thelife of the session. You can then use this identifier toget back the same symbol, with all of the same internal statethat it had before, even if you "destroyed" the originalcopy of the object you had.This didn't work properly in our native implementation, andif you destroyed an object for a particular symbol, thenrequested the same symbol again, it would get assigned a newID and you'd get a fresh copy of the object. In order to fixthis some refactoring had to happen to properly reuse cachedobjects. Some unittests are added to verify that symbolreuse is taking place, making use of the new unittest inputfeature.llvm-svn: 341503