Rename lldb registers to contain lldb_ prefix.

LLDB supports many different register numbering schemes, and these
are typically prefixed with an indicator that lets the user know
what numbering scheme is used.  The gcc numbering scheme is
prefixed with gcc, and there are similar ones for dwarf, gdb,
and gcc_dwarf.

LLDB also contains its own internal numbering scheme, but the enum
for LLDB's numbering scheme was prefixed differently.  This patch
changes the names of these enums to use the same naming scheme for
the enum values as the rest of the register kinds by removing gpr_
and fpu_ prefixes, and instead using lldb_ prefixes for all enum
values.

Differential Revision: http://reviews.llvm.org/D6351
Reviewed by: Greg Clayton

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222495 91177308-0d34-0410-b5e6-96231b3b80d8
Change CommandObjectTargetModulesLoad so that the filename argument
is treated as a string instead of a FileSpec.

OptionValueFileSpec::SetValueFromCString() passes the c string to
FileSpec::SetFile(str, true /* resolve */) - and with Zachary's
changes to FileSpec we're using llvm::sys::fs::make_absolute() to
do that "resolve" action now, where we used to use realpath().

One important difference between llvm::sys::fs::make_absolute and
realpath is that when they're handed a filename (no directory),
realpath prepends the current working directory *and if the file exists*,
returns that full path.  If that file doesn't exist, the caller 
uses the basename only.

llvm::sys::fs::make_absolute prepends the current working directory
regardless of whether it exists or not. 

I considered having FileSpec::SetFile save the initial pathname,
call FileSpec::Resolve, and then check to see if the Resolve return
path exists - and if not, go back to the original one.

But instead I just went with changing 'target modules load' to treat its 
filename argument as a string instead of a FileSpec.  This brings it
in line with how 'target modules list' works.

<rdar://problem/18955416> 


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222498 91177308-0d34-0410-b5e6-96231b3b80d8
Rework parallel test process count logic

The default value for opt.thread_count was multiprocessing.cpu_count(),
which meant the LLDB_TEST_THREADS environment variable was never used.
It's not easy to pass the -t option to the test run when invoking it
from e.g. 'ninja check-lldb', so having the environment variable as an
option is useful.

Change the logic so that the thread count is set by the first one of:

  1. The -t option to test/dosep.py
  2. The LLDB_TEST_THREADS environment variable
  3. The machine's CPU count from multiprocessing.cpu_count()


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222501 91177308-0d34-0410-b5e6-96231b3b80d8
fix Bug21211 : reworked test/api/multithreaded/test_listener_event_description.cpp to work properly on Linux/FreeBSD

Issue D5632 fixed an issue where linux would dump spurious output to tty on startup (due to a broadcast stop event). After the checkin, it was noticed on FreeBSD a unit test was now failing. On closer investigation I found the test was using the C++ API to launch an inferior while using an SBListener to monitor the public state changes. As on OSx, it was expecting to see:

eStateRunning
eStateStopped

On Linux/FreeBSD, there is an extra state change

eStateLaunching
eStateRunning
eStateStopped

I reworked the test to work for both cases and re-enabled the test of FreeBSD.

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

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222511 91177308-0d34-0410-b5e6-96231b3b80d8
Extend PipePosix with child_processes_inherit support - to control whether pipe handles should be inherited by a child process.

http://reviews.llvm.org/D6348


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222541 91177308-0d34-0410-b5e6-96231b3b80d8
Do some cleanup of DumpValueObjectOptions. The whole concept of raw printing was split between feature-specific flags, and an m_be_raw flag, which then drove some other changes in printing behavior. Clean that up, so that each functionality has its own flag .. oh, and make the bools all go in a bitfield since I may want to add more of those over time

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222548 91177308-0d34-0410-b5e6-96231b3b80d8
Add an API on SBValueList to find the first value with a given name stored in the list

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222576 91177308-0d34-0410-b5e6-96231b3b80d8
Per off-list feedback, this API returns the *first* value with a given name, not the *only* one. Rename it to reflect that

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222582 91177308-0d34-0410-b5e6-96231b3b80d8
Remove print statement that was accidentally left in.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222589 91177308-0d34-0410-b5e6-96231b3b80d8
Fix mispelled 'ling' Python property to be 'line' in
SBLineEntry and SBDeclaration.  Patch from Chris Willmore.
<rdar://problem/19054323> 


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222592 91177308-0d34-0410-b5e6-96231b3b80d8
Enable Python summaries to use custom SBTypeSummaryOptions if the user is so inclined. Updates to the webdoc will follow

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222593 91177308-0d34-0410-b5e6-96231b3b80d8
Just a few words to introduce the extra optional argument to Python summaries

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222594 91177308-0d34-0410-b5e6-96231b3b80d8
[ProcessWindows] Clean up the register definitions array.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222597 91177308-0d34-0410-b5e6-96231b3b80d8
Make the sourcing of the local .lldbinit file quiet.

<rdar://problem/19065278>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222599 91177308-0d34-0410-b5e6-96231b3b80d8
This is the first step of making lldb able to create target-specific things
(e.g. breakpoints, stop-hooks) before we have any targets - for instance in 
your ~/.lldbinit file.  These will then get copied over to any new targets 
that get created.  So far, you can only make stop-hooks.

Breakpoints will have to learn to move themselves from target to target for
us to get them from no-target to new-target.

We should also make a command & SB API way to prime this ur-target.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222600 91177308-0d34-0410-b5e6-96231b3b80d8
When a RegisterContext produces an invalid CFA address, change
UnwindLLDB::AddOneMoreFrame to try the fallback unwind plan on
that same stack frame before it tries the fallback unwind plan
on the "next" or callee frame.

In RegisterContextLLDB::TryFallbackUnwindPlan, when we're
trying the fallback unwind plan to see if it is valid, make
sure we change all of the object ivars that might be used in
the process of fetching the CFA & caller's saved pc value 
and restore those if we decide not to use the fallback 
unwindplan.

<rdar://problem/19035079> 


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222601 91177308-0d34-0410-b5e6-96231b3b80d8
Fixed an issue where a DW_FORM_ref{2,4,8} might be extracted incorrectly because the wrong compile unit was being used to calculate the compile unit relative offset. 

This was fixed by making the DWARFFormValue contain the compile unit that it needs so it can decode its form value correctly. Any form value that requires a compile unit will now assert. If any of the assertions that were added are triggered, then code that led to the extraction of the form value without properly setting the compile unit must be fixed immediately. 

<rdar://problem/19035440>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222602 91177308-0d34-0410-b5e6-96231b3b80d8
Mark 9 lldb unit tests for ubuntu as XFAIL.

The following lldb unit tests fail check-lldb on ubuntu:

TestDataFormatterStdMap.py
TestDataFormatterStdVBool.py
TestDataFormatterStdVector.py
TestDataFormatterSynthVal.py
TestEvents.py
TestInitializerList.py
TestMemoryHistory.py
TestReportData.py
TestValueVarUpdate.py

These unit test failures are for non-core functionality. The intent is to
reduce the check-lldb FAILS to core functionality FAILS and then circle
back later and fix these FAILS at a later date.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222608 91177308-0d34-0410-b5e6-96231b3b80d8
Fix lldb(1) man page formatting

- Use canonical date order (per groff & mandoc)
- Fix capitalization on one .Nm
- Remove EOL whitespace

Patch by Baptiste Daroussin in FreeBSD svn r274927.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@222655 91177308-0d34-0410-b5e6-96231b3b80d8
Add initial lldb-mi tests.

Test 'test_lldbmi_interrupt' is only enabled for Darwin as
it seems to cause a timeout error on Linux.
Patch from dawn@burble.org.



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