Add powerpc support for the test suite.

Reviewed by Ed Maste at MeetBSD.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221787 91177308-0d34-0410-b5e6-96231b3b80d8
Add an alternative CFA type.

Summary:
PowerPC handles the stack chain with the current stack pointer being a pointer
to the backchain (CFA).  LLDB currently has no way of handling this, so this
adds a "CFA is dereferenced from a register" type.

Discussed with Jason Molenda, who also provided the initial patch for this.

Reviewers: jasonmolenda

Reviewed By: jasonmolenda

Subscribers: emaste, lldb-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221788 91177308-0d34-0410-b5e6-96231b3b80d8
Improve PowerPC unwind support

Summary:
Taking advantage of the new 'CFAIsRegisterDereferenced' CFA register type, add
full stack unwind support to the PowerPC/PowerPC64 ABI.  Also, add a new
register set for powerpc32-on-64, so the register sizes are correct.  This also
requires modifying the ProcessMonitor to add support for non-uintptr_t-sized
register values.

Reviewers: jasonmolenda, emaste

Subscribers: emaste, lldb-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221789 91177308-0d34-0410-b5e6-96231b3b80d8
FIx a bug with PC-register handling in a RA register.

The addition of RegisterNumber introduced a bug where if the PC is stored in a
return address register, such as on ARM and PowerPC, this register number is
retrieved and used, but never checked in the row if it's saved.  Correct this by
setting the variable that's used to the new register number.

Patch by Jason Molenda.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221790 91177308-0d34-0410-b5e6-96231b3b80d8
Fix the iOS build after recent inherited OTHER_LDFLAGS.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221797 91177308-0d34-0410-b5e6-96231b3b80d8
Avoid crash in InitializeNonZerothFrame if no module found

After r221575 TestCallStopAndContinue and TestCallThatRestarts started
crashing on FreeBSD with a null temporary_module_sp in
RegisterContextLLDB::InitializeNonZerothFrame().


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221805 91177308-0d34-0410-b5e6-96231b3b80d8
[ProcessWindows] Simplify the DebugDelegate interface.

Due to a previous multi-threaded design involving message
passing, we used message classes to pass event information
to the delegate.  Since the multi-threaded design has gone
away, we simplify this by passing event arguments as direct
function parameters, which is more clear and easier to
understand.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221806 91177308-0d34-0410-b5e6-96231b3b80d8
[ProcessWindows] Improve support for launching processes.

This sends notifications for module load / unload to the process
plugin, and also manages the state more accurately during the
loading sequence.

Similar work by Virgile Bello was referenced during the
implementation of this patch.

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

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221807 91177308-0d34-0410-b5e6-96231b3b80d8
Update comments to reflect how the new methods ended up being written.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221809 91177308-0d34-0410-b5e6-96231b3b80d8
Use PRIx64 when printing addr_t's.  Don't need to force full-width 0 padding
with addresses that aren't designed to be column-aligned across multiple lines.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221810 91177308-0d34-0410-b5e6-96231b3b80d8
Add decorator for failing null dereference test on FreeBSD

llvm.org/pr21550


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221815 91177308-0d34-0410-b5e6-96231b3b80d8
Add a makefile even though it isn't used by the test in case we need to debug it when it fails.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221828 91177308-0d34-0410-b5e6-96231b3b80d8
Fix so this test runs successfully on armv7 devices.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221830 91177308-0d34-0410-b5e6-96231b3b80d8
Do not override the existing definition of addr_size when adding new properties to SBTarget. Fixes rdar://18963842

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221850 91177308-0d34-0410-b5e6-96231b3b80d8
TestConcurrentEvents - delay threads not working

Part of TestConcurrentEvents starts threads that are supposed to be
delayed by one second.

Test was adding "delay" threads to the "actions" thread list instead
of the "delay_actions" list, which caused them to be started without
delay.




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221859 91177308-0d34-0410-b5e6-96231b3b80d8
A pretty big overhaul of the TryFallbackUnwindPlan method in
RegisterContextLLDB.  I have core files of half a dozen tricky
unwind situations on x86/arm and they're all working pretty much
correctly at this point, but we'll need to keep an eye out for
unwinder regressions for a little while; it's tricky to get these
heuristics completely correct in all unwind situations.

<rdar://problem/18937193> 


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221866 91177308-0d34-0410-b5e6-96231b3b80d8
Refactor NativeProcessLinux::AttachToProcess in order to avoid reinterpret_cast from NativeProcessProtocol* to NativeProcessLinux*.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221906 91177308-0d34-0410-b5e6-96231b3b80d8
Remove extra "/" character from paths resolved in iOS SDKs and also be sure to update the SDK directory infos if needed before we start using m_sdk_directory_infos.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221907 91177308-0d34-0410-b5e6-96231b3b80d8
Fixed "SBTarget SBDebugger::CreateTarget (const char *filename)" to use the same semantics as other SBDebugger::CreateTarget() functions.

The issues were:
- If you called this function with any arch other than the default target architecture, creating the target would fail because the Target::GetDefaultArchitecture() would not match the single architecture in the file specified. This caused running the test suite remotely with lldb-platform to fail many many tests due to the bad target.
- It would specify the currently selected platform which might not work for the specified platform

All other SBDebugger::CreateTarget calls do not assume an architecture or platform and if they aren't specified, they don't auto select the wrong one for you.

With this fix, SBTarget SBDebugger::CreateTarget (const char *filename) now behaves like the other SBDebugger::CreateTarget() variants.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@221908 91177308-0d34-0410-b5e6-96231b3b80d8
Specify checksums properly for llgs test suite packets.

Summary: These checksums are ignored by llgs but some implementations require them to be specified properly.

Test Plan: Re-run llgs tests with the checksums and make sure we don't break anything.

Reviewers: tfiala, clayborg

Subscribers: lldb-commits

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

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