forked from OSchip/llvm-project
1beffc1888
SBTarget::AddModule currently handles the UUID parameter in a very weird way: UUIDs with more than 16 bytes are trimmed to 16 bytes. On the other hand, shorter-than-16-bytes UUIDs are completely ignored. In this patch, we change the parsing code to handle UUIDs of arbitrary size. To support arbitrary size UUIDs in SBTarget::AddModule, this patch changes UUID::SetFromStringRef to parse UUIDs of arbitrary length. We subtly change the semantics of SetFromStringRef - SetFromStringRef now only succeeds if the entire input is consumed to prevent some prefix-parsing confusion. This is up for discussion, but I believe this is more consistent - we always return false for invalid UUIDs rather than sometimes truncating to a valid prefix. Also, all the call-sites except the API and interpreter seem to expect to consume the entire input. This also adds tests for adding existing modules 4-, 16-, and 20-byte build-ids. Finally, we took the liberty of testing the minidump scenario we care about - removing placeholder module from minidump and replacing it with the real module. Reviewed By: labath, friss Differential Revision: https://reviews.llvm.org/D80755 |
||
---|---|---|
.. | ||
Inputs | ||
ABITest.cpp | ||
CMakeLists.txt | ||
ExecutionContextTest.cpp | ||
MemoryRegionInfoTest.cpp | ||
ModuleCacheTest.cpp | ||
PathMappingListTest.cpp | ||
RemoteAwarePlatformTest.cpp | ||
StackFrameRecognizerTest.cpp |