Fixed up gdb-remote auxv regex issues with binary data.
Fixes two causes for https://github.com/tfiala/lldb/issues/7.

1. Ensures the inferior program has started executing, by printing
a message on output first thing (per the "message:" command line arg)
and waiting for that text to arrive before doing any checks related
to auxv support.

2. Fixes up auxv-related regex patterns to be compiled with the Python
re.MULTILINE and re.DOTALL options.  The multiline is needed because
the binary data can include what look like newlines when interpreted
as text, and the DOTALL is needed to have the (.*) content portion match
newlines.

Added interrupt packet helper methods to add interrupt test sequence
packets and parse the results from them.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@211283 91177308-0d34-0410-b5e6-96231b3b80d8
Switch over to using object_getClass to get the class of an object.  Previously we were
directly accessing the isa pointer of a class object to get its meta-class, but the isa
pointers are not simple pointers on arm64, so this would cause the stepping to fail.
object_getClass does whatever magic needs doing in this case.

<rdar://problem/17239690>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@211289 91177308-0d34-0410-b5e6-96231b3b80d8
Test commit: Correct type in two comments.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@211296 91177308-0d34-0410-b5e6-96231b3b80d8
Command files that switch input handlers didn't work, now they do.

The issue was when we called Debugger::RunIOHandler(), it would run the current IOHandler by activating it, and running it and then try to pop it and exit regardless of wether it was on top or not.

The new code will push the IOHandler that was passed in, and run the IOHandlers until the one passed in is successfully popped. This allows files for the "command source" to switch input handlers:

% cat /tmp/commands
br s -S alignLeftEdges:
br command add
bt
frame var
po self
DONE
b s -n main
br command add
bt
frame var
DONE

Note above we set a breakpoint, then add commands do it. The "br command add" will push the breakpoint comment gatherer until it sees "DONE" and then pop itself off the stack. The a new breakpoint will be set and it does the same thing again.

Now this file can be sourced from the command line:

% lldb -s /tmp/commands /path/to/a.out

And your breakpoints will be correctly setup!

<rdar://problem/17081650>



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@211329 91177308-0d34-0410-b5e6-96231b3b80d8
Added gdb-remote tests for Q{Save,Restore}RegisterState.

Tests for both thread suffix and no thread suffix execution.

Moved some bit-flipping helper methods from TestLldbGdbServer
into the base GdbRemoteTestCaseBase class.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@211381 91177308-0d34-0410-b5e6-96231b3b80d8
Merge upstream llvm.org r211381 into dev-tfiala-native-protocol-linux-x86_64

Conflicts:
	test/tools/lldb-gdbserver/gdbremote_testcase.py