[PATCH] D56206: Introduce `RemoteAddressSpaceView` and `VMReadContext`.
Dan Liew via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 2 10:37:02 PST 2019
delcypher created this revision.
delcypher added reviewers: kcc, vitalybuka, dvyukov, cryptoad, eugenis, george.karpenkov, yln.
Herald added subscribers: Sanitizers, mgorny, kubamracek.
`RemoteAddressSpaceView` is the remote memory counter part to
`LocalAddressSpaceView` that implements the `AddressSpaceView`
interface.
The `RemoteAddressSpaceView` implementation is a simple wrapper around a
`VMReadContext` object. A `VMReadContext` object implements the platform
specific code to
- Read memory from another process.
- Cache those reads and manage the cache lifetime.
- Manage the writability of the cached memory.
Two implementations are provided:
- A Darwin only implementation that allows in-process and out-of-process
reads. The reads are cached by a Darwin specific framework
(CoreSymbolication) and thus the `VMReadContext` implementation does not
implement a cache.
- A non-Darwin implementation that only allows in-process reads
(basically a no-op). This exists only for testing purposes.
Tests for this functionality will be added in later patches.
rdar://problem/45284065
Repository:
rCRT Compiler Runtime
https://reviews.llvm.org/D56206
Files:
lib/sanitizer_common/CMakeLists.txt
lib/sanitizer_common/sanitizer_internal_defs.h
lib/sanitizer_common/sanitizer_remote_address_space_view.cc
lib/sanitizer_common/sanitizer_remote_address_space_view.h
lib/sanitizer_common/sanitizer_vm_read_context.h
lib/sanitizer_common/sanitizer_vm_read_context_common.cc
lib/sanitizer_common/sanitizer_vm_read_context_mac.cc
lib/sanitizer_common/sanitizer_vm_read_context_stubs.cc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56206.179888.patch
Type: text/x-patch
Size: 15071 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190102/ec87a0b7/attachment.bin>
More information about the llvm-commits
mailing list