Fix a CMake error when using CMake 3.0.1

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216286 91177308-0d34-0410-b5e6-96231b3b80d8
Fix a couple of potential issues in the lexer where we were ignoring the putback data

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216304 91177308-0d34-0410-b5e6-96231b3b80d8
Extend the encoding parser to support the @typeName syntax for Objective-C object types

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216305 91177308-0d34-0410-b5e6-96231b3b80d8
Fixed a problem where IOObject was wrongly
capitalized.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216308 91177308-0d34-0410-b5e6-96231b3b80d8
Initialize LLVM when LLDB is initialized, and
install a crash handler.

<rdar://problem/18083226>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216309 91177308-0d34-0410-b5e6-96231b3b80d8
I forgot to include the header file for std::find, and that's breaking the Linux build. Push a fix out. Patch suggested by Paul Osmialowski and Randy Smith

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216323 91177308-0d34-0410-b5e6-96231b3b80d8
Resurect preprocessor definitions that got lost moving to HostInfo

When building without XCode on sytems where these constants are
not in the system header (or I presume with older versions of XCode),
these are needed to make this file compile, since unlike most other
uses of MachO specific constants, these use the system headers
rather than the LLVM-defined ones.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216332 91177308-0d34-0410-b5e6-96231b3b80d8
Add a little documentation for the register kinds
and the method to convert between them.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216372 91177308-0d34-0410-b5e6-96231b3b80d8
Fix the Windows build by removing the unused lldb_python_module.cmake inclusion from CMakeLists.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216392 91177308-0d34-0410-b5e6-96231b3b80d8
Change back all paths returns for lldb::PathType enumerations from HostInfo::GetLLDBPath() to return the directories in the FileSpec.m_directory field to match previous implementations. This change previously broke some path stuff in upstream branches.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216398 91177308-0d34-0410-b5e6-96231b3b80d8
Added a test case to ensure lldb::SBHostOS::GetLLDBPath() doesn't return lldb::SBFileSpec objects with the filename filled in for directory paths.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216399 91177308-0d34-0410-b5e6-96231b3b80d8
On x86 & x86_64, try to use eh_frame for frame 0.

We decided to use assmbly profiler instead of eh_frame for frame 0 because for compiler generated code, eh_frame is usually synchronous(a.k.a. only valid at call site); and we have no way to tell if it's asynchronous or not.
But for x86 & x86_64 compiler generated code:
1. clang & GCC describes all prologue instructions in eh_frame;
2. mid-function stack pointer altering instructions can be easily detected.
So we can grab eh_frame, and use assembly profiler to augment it into asynchronous unwind table.
This change also benefits hand-written assembly; eh_frame for hand-written assembly is often asynchronous,so we have a much better chance to successfully unwind through them.

Change by Tong Shen.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216406 91177308-0d34-0410-b5e6-96231b3b80d8
Add 64-bit eh_frame section CFI support.

In practice, 64bit eh_frame is not used even for x86_64 binaries. The main reason is in eh_frame we almost always use pc-relative addressing, so addresses are within 32bits and gcc just sticks to 32bit eh_frame.

I generated 64bit eh_frame for Android Java runtime and unwind successfully in gdb, and in lldb with this patch.

Patch by Tong Shen.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216409 91177308-0d34-0410-b5e6-96231b3b80d8
Have augment_unwind_plan_from_call_site update the UnwindPlan 
name/from-compiler settings to indicate that it was augmented
by assembly profiling.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216412 91177308-0d34-0410-b5e6-96231b3b80d8
Copy unwind plan instead of modifying it directly, so "image show-unwind" prints different plans for asynchronous and synchronous.

Change by Tong Shen.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216416 91177308-0d34-0410-b5e6-96231b3b80d8
Clean up the coding conventions in UnwindAssembly-x86.cpp a little bit.
I wrote this originally as a part of an unwind library that was using
a different coding convention and some of that old style remained after
its integration into lldb.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216419 91177308-0d34-0410-b5e6-96231b3b80d8
Remove trailing whitespace from lines in UnwindAssembly-x86.cpp.  No other changes.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@216420 91177308-0d34-0410-b5e6-96231b3b80d8
Remove the hostname part from compilation directories, if supplied by 
DWARF2/3 compliant producers.


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