llvm-project/lldb/source/Plugins
Stephen Wilson 2103e25e19 Initial support for a DynamicLoader plugin on Linux.
This patch is enough to have shared objects recognized by LLDB.  We can handle
position independent executables.  We can handle dynamically loaded modules
brought in via dlopen.

The DYLDRendezvous class provides an interface to a structure present in the
address space of ELF-based processes.  This structure provides the address of a
function which is called by the linker each time a shared object is loaded and
unloaded (thus a breakpoint at that address will let LLDB intercept such
events), a list of entries describing the currently loaded shared objects, plus
a few other things.

On Linux, processes are brought up with an auxiliary vector on the stack.  One
element in this vector contains the (possibly dynamic) entry address of the
process.  One does not need to walk the stack to find this information as it is
also available under /proc/<pid>/auxv.  The new AuxVector class provides a
convenient read-only view of this auxiliary vector information.  We use the
dynamic entry address and the address as specified in the object file to compute
the actual load address of the inferior image.  This strategy works for both
normal executables and PIE's.

llvm-svn: 123592
2011-01-16 19:45:39 +00:00
..
ABI Fixed issues with RegisterContext classes and the subclasses. There was 2011-01-06 22:15:06 +00:00
Disassembler/llvm Fixed the "-b" option on disassembly to always pad out the bytes with for 2011-01-08 22:55:04 +00:00
DynamicLoader Initial support for a DynamicLoader plugin on Linux. 2011-01-16 19:45:39 +00:00
LanguageRuntime Removed printf statements in code. 2011-01-14 19:21:25 +00:00
ObjectContainer Spelling changes applied from lldb_spelling.diffs from Bruce Mitchener. 2011-01-08 20:28:42 +00:00
ObjectFile Test if an ELF object is executable by checking if an entry point is defined. 2011-01-15 00:09:50 +00:00
Process Initial support for a DynamicLoader plugin on Linux. 2011-01-16 19:45:39 +00:00
SymbolFile Fixed an error in the type map for "char **" that was a bad memory smasher. 2011-01-14 04:54:56 +00:00
SymbolVendor/MacOSX Change over to using the definitions for mach-o types and defines to the 2010-07-21 22:12:05 +00:00
Makefile Initial support for a DynamicLoader plugin on Linux. 2011-01-16 19:45:39 +00:00