aboutsummaryrefslogtreecommitdiff
path: root/lldb/scripts/Python
diff options
context:
space:
mode:
authorPavel Labath <labath@google.com>2017-06-20 08:11:47 +0000
committerPavel Labath <labath@google.com>2017-06-20 08:11:47 +0000
commitdf1a0d11808b874776a0c2ff824f2209eb942dc1 (patch)
treea5beff54edb60fb0e464f9fc75267f84936d6271 /lldb/scripts/Python
parentf891812b7bac04a52c5b82d1bfe0e81891974728 (diff)
downloadllvm-df1a0d11808b874776a0c2ff824f2209eb942dc1.zip
llvm-df1a0d11808b874776a0c2ff824f2209eb942dc1.tar.gz
llvm-df1a0d11808b874776a0c2ff824f2209eb942dc1.tar.bz2
[linux] Change the way we load vdso pseudo-module
Summary: This is basically a revert of D16107 and parts of D10800, which were trying to get vdso loading working. They did this by implementing a generic load-an-elf-file from memory approach, which is not correct, since we cannot assume that an elf file is loaded in memory in full (it usually isn't, as there's no need to load section headers for example). This meant that we would read garbage instead of section sizes, and if that garbage happened to be a large number, we would crash while trying to allocate a buffer to accomodate the hypothetical section. Instead of this, I add a bit of custom code to load the vdso to DynamicLoaderPOSIXDYLD (which already needed to handle the vdso specially). I determine the size of the memory to read using Process::GetMemoryRegionInfo, which is information coming from the OS, and cannot be forged by a malicious/misbehaving application. Reviewers: eugene, clayborg Subscribers: lldb-commits, ravitheja, tberghammer, emaste Differential Revision: https://reviews.llvm.org/D34352 llvm-svn: 305780
Diffstat (limited to 'lldb/scripts/Python')
0 files changed, 0 insertions, 0 deletions