Fix some bugs from D5988

Summary:
Ed Maste found some problems with the commit in D5988.  Address most of these.
While here, also add floating point return handling.  This doesn't handle
128-bit long double yet.  Since I don't have any system that uses it, I don't
currently have plans to implement it.

Reviewers: emaste

Reviewed By: emaste

Subscribers: emaste, lldb-commits

Differential Revision: http://reviews.llvm.org/D6049

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@220963 91177308-0d34-0410-b5e6-96231b3b80d8
- Use "for_expression" rather than "allow_unknownanytype"
  to indicate that we're doing stuff for the expression
  parser.

- When for_expression is true, look through @s and find
  the actual class rather than just returning id. 

- Rename BuildObjCObjectType to BuildObjCObjectPointerType
  since it's actually returning an object *pointer* type.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@220979 91177308-0d34-0410-b5e6-96231b3b80d8
- Fixed a bug where ::Describe for class descriptors
  would fail if the class had no ivars.

- Updated use of the RealizeType API by the class
  descriptors to use "for_expression" rather than
  the misnamed "allow_unknownanytype."


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@220980 91177308-0d34-0410-b5e6-96231b3b80d8
Updated the Objective-C runtime type vendor to
load ivars into classes that are reported to the
Objective-C runtime.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@220981 91177308-0d34-0410-b5e6-96231b3b80d8
In ValueObjectDynamicValue, trust what comes from
the runtime rather than trying to fix it up,
because now those types have ivars regardless of
whether they come from "frame variable" or from
expressions.

Patch by Enrico Granata.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@220982 91177308-0d34-0410-b5e6-96231b3b80d8
commit on behalf of Oleksiy Vyalov Fix junk content handling within GDBRemoteCOmmunication::CheckForPacket  1. Avoid removing of an extra symbol from m_bytes.  2. iterate over m_bytes until useful content is found.  Differential Revision: http://reviews.llvm.org/D6042

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@220983 91177308-0d34-0410-b5e6-96231b3b80d8
SBAddress currently *may* have an Address object or it may not.
If it has an Address object, it is assumed to be Valid.
Change SBAddress to always have an Address object and check
whether it is valid or not in those case.

This is fixing a subtle problem where we ended up with
a SBAddress with an Address of LLDB_INVALID_ADDRESS could
run through a copy constructor and turn into an SBAddress
with no Address object being backed (because it wasn't
distinguishing between invalid-Address versus no-Address.)

The cost of an Address object is not high and this will be
an easy mistake for someone else to make; I'm fixing
SBAddress so it doesn't come up again.
<rdar://problem/18069407> 


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221002 91177308-0d34-0410-b5e6-96231b3b80d8
Always transmit SIGPROF back to the inferior.

Summary:
SIGPROF is used for profiling processes (with google-perftools for
instance), which results in the inferior receiving a SIGPROF from the
kernel every few milliseconds. Instead of stopping the debugging session
and notifying the user of this, we should just pass the signal and keep
running.

This follows the behavior we have in UnixSignals.cpp.

Test Plan: Run LLDB on linux with a binary using google-perftools, see that execution gets interrupted all the time because we receive SIGPROF. Apply the patch, everything works fine.

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D5953

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221011 91177308-0d34-0410-b5e6-96231b3b80d8
TOT broken by R220956 - Differential Revision: http://reviews/llvm.org/D6066

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221018 91177308-0d34-0410-b5e6-96231b3b80d8
Complete the superclass type when completing an
Objective-C class type.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221022 91177308-0d34-0410-b5e6-96231b3b80d8
Use kern.proc.auxv to get the aux data

Summary:
Instead of using a homegrown solution to get the auxv from a process, instead
use the OS-provided sysctl to get the needed data.  This allows the same code to
be used for both 32-bit and 64-bit processes on a 64-bit host.

Reviewers: emaste

Reviewed By: emaste

Subscribers: emaste, lldb-commits

Differential Revision: http://reviews.llvm.org/D6071

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221063 91177308-0d34-0410-b5e6-96231b3b80d8
Update for LLVM API change in r221024


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221073 91177308-0d34-0410-b5e6-96231b3b80d8
Fix the Makefile build by actually building ABI/SysV-ppc

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221111 91177308-0d34-0410-b5e6-96231b3b80d8
Merge remote-tracking branch 'upstream/master' into gold

trunk@221111