Add error report when Module::GetObjectFile() fails to find a plugin to open an object file.

Change by Stephane Sezer.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217251 91177308-0d34-0410-b5e6-96231b3b80d8
Set the process vendor in GDBRemoteCommunicationClient::GetCurrentProcessInfo.

Change by Stephane Sezer.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217252 91177308-0d34-0410-b5e6-96231b3b80d8
Properly handle the DYLD attach step for GDB remotes.

Change by Stephane Sezer.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217253 91177308-0d34-0410-b5e6-96231b3b80d8
[lldb] Abstract a superclass for a generic thread container.

Reviewed at
http://reviews.llvm.org/D5200
and
http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20140901/012799.html



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217269 91177308-0d34-0410-b5e6-96231b3b80d8
Fix CMake configuration

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217273 91177308-0d34-0410-b5e6-96231b3b80d8
Introduce the notion of a "type validator" formatter

Type Validators have the purpose of looking at a ValueObject, and making sure that there is nothing semantically wrong about the object's contents
For instance, if you have a class that represents a speed, the validator might trigger if the speed value is greater than the speed of light

This first patch hooks up the moving parts in the formatters subsystem, but does not link ValueObjects to TypeValidators, nor lets the SB API be exposed to validators
It also lacks the notion of Python validators



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217277 91177308-0d34-0410-b5e6-96231b3b80d8
Add TypeValidator.cpp to cmake build.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217280 91177308-0d34-0410-b5e6-96231b3b80d8
Start plumbing the type validator logic through to the ValueObjects; allow a ValueObject to have a validator, to update it from the FormatManager, and to retrieve (and cache) the result of the validation

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217282 91177308-0d34-0410-b5e6-96231b3b80d8
Add more logging to DynamicLoaderPOSIXDYLD, especially around rendezvous handling.

Covers more of the behavior of rendezvous breakpoint handling and other
dynamic loader aspects, all on the 'enable log lldb dyld' log channel.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217283 91177308-0d34-0410-b5e6-96231b3b80d8
Added logging of the POSIX-DYLD rendezvous address (i.e. the info_location address)


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217287 91177308-0d34-0410-b5e6-96231b3b80d8
Expose ThreadCollection in SB API

Reviewed at
http://reviews.llvm.org/D5218
and
http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20140901/012828.html



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217296 91177308-0d34-0410-b5e6-96231b3b80d8
Fix CMake configuration (forgot to add a file in the last commit).



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217297 91177308-0d34-0410-b5e6-96231b3b80d8
Expose the ability to retrieve the result of a type validator via the SB API. To keep it simple, do not expose the pair, but just return a NULL string for success, and a non-NULL string for error; If we were to decide to expose the pair, we would need an SBTypeValidatorResult, which is fine, but it should come as part of exposing type validators through the SB API rather than as a one-off thing. So, KISS for now

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217299 91177308-0d34-0410-b5e6-96231b3b80d8
Implement ASan history threads in SB API

Reviewed at
http://reviews.llvm.org/D5219
and
http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20140901/012809.html



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217300 91177308-0d34-0410-b5e6-96231b3b80d8
The original jit no longer exists in llvm, remove from dependencies.

PR20864


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217301 91177308-0d34-0410-b5e6-96231b3b80d8
Add a -V <bool> flag to frame variable/expression that enables execution of type validators. The jury is still out on what the user experience of type validators should be, so for now gate it on a specific flag. The mode I am using is prefix variables that fail to validate with a bang, and then emitting the actual validation error on a separate line. Of course, given the total absence of validators, this should never actually happen to you

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217303 91177308-0d34-0410-b5e6-96231b3b80d8
Correct copied error message

Patch by Remco Verhoef.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217312 91177308-0d34-0410-b5e6-96231b3b80d8
DataFormatters: use include instead of import in C++

'#import' is an Objective-C construct; avoid using it in C++.  NFC.

Addresses PR20867.

Patch by Kevin Avila!

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217340 91177308-0d34-0410-b5e6-96231b3b80d8
driver: handle write error better

We would previously simply assume that the write would always succeed.  However,
write(2) may return -1 for error as well as fail to perform a complete write (in
which case the returned number of bytes will be less than the requested bytes).

Explicitly check if an error condition is encountered.  This would previously
not be caught as we default initialized success to true.  Add an assertion that
we always perform a complete write (a continuous retry could be added to ensure
that we finish writing completely).

This was caught by GCC's signed comparison warning and manual inspection.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217355 91177308-0d34-0410-b5e6-96231b3b80d8
build: attempt to fix the buildbots

Linking Release+Asserts executable lldb-gdbserver (without symbols)
liblldb.so: undefined reference to `lldb_private::MemoryHistoryASan::Initialize()'
liblldb.so: undefined reference to `lldb_private::MemoryHistoryASan::Terminate()'
liblldb.so: undefined reference to `vtable for lldb_private::TypeValidatorImpl_CXX'
liblldb.so: undefined reference to `lldb_private::TypeValidatorImpl::TypeValidatorImpl(lldb_private::TypeValidatorImpl::Flags const&)'

liblldb.so underlinked to lldbPluginMemoryHistoryASan.a when building with the
make based build system (as opposed to CMake).

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@217360 91177308-0d34-0410-b5e6-96231b3b80d8