History log of /external/lldb/tools/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d55c5b19487ef22383a32548f1143f1dfac2478f 14-Oct-2013 Todd Fiala <tfiala@google.com> Add Android.mk support for building LLDB on Linux host.

This change adds support for building LLDB with the following
build command from the top level:

make FORCE_BUILD_LLVM_COMPONENTS=true ANDROID_BUILD_LLDB=true lldb

There are known issues with the google linux host gcc 4.6.2+ variant
currently used to build host executables. A follow up change will
apply a temporary work-around that will be used until either the
compiler is fixed or a new compiler is used.

Change-Id: I18451f73cbe2264074cd8fba6397680855352a93
river/Android.mk
3138ad6178b98337ea875e30e7c808e35eae734d 18-Jul-2013 Jim Ingham <jingham@apple.com> Use the correct call to close down the lockdown connection.

<rdar://problem/14460024>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186597 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBSocket.cpp
e0ee393523f63b80ec77bc92fa685d8290e9b82a 18-Jul-2013 Jim Ingham <jingham@apple.com> Didn't get the right version of these files in the checkin for r186132.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186596 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
7a11ebd805e518627ade465b143c5b1d52c70aa4 15-Jul-2013 Jason Molenda <jmolenda@apple.com> Bump version number to 310.99.0.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186304 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
4e49a5bfccc0a51185eadf69b3e23f68e70f1676 12-Jul-2013 Jim Ingham <jingham@apple.com> Get debugserver to call task_set_state to prime the control registers so that watchpoints
take for threads created while the program is running. Remove the testcase skips from TestConcurrentEvents.py,
since they all pass now, and fix TestWatchpointMultipleThreads.py - which should have caught this problem -
so it doesn't artificially break on new thread creation before the watchpoint triggers.

llvm.org/pr16566
<rdar://problem/14383244>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186132 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-threads/examine-threads.c
ebugserver/source/DNBArch.h
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/MachThread.h
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
fa2cd91f47a7782b9c040058aed369e022e332d3 01-Jul-2013 Sylvestre Ledru <sylvestre@debian.org> Following the modification introduced in llvm by commit 185311

The build system is currently miss-identifying GNU/kFreeBSD as FreeBSD.
This kind of simplification is sometimes useful, but in general it's not correct.

As GNU/kFreeBSD is an hybrid system, for kernel-related issues we want to match the
build definitions used for FreeBSD, whereas for userland-related issues we want to
match the definitions used for other systems with Glibc.

The current modification adjusts the build system so that they can be distinguished,
and explicitly adds GNU/kFreeBSD to the build checks in which it belongs.

Fixes bug #16446.

Patch by Robert Millan in the context of Debian.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185313 91177308-0d34-0410-b5e6-96231b3b80d8
river/Makefile
ldb-platform/Makefile
58274a3c8d618e5aac2b738aa1d11bce423208ab 27-Jun-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/14195566>

Found a race condition when killing an application where the state could be set to exited by the waitpid_thread() _before_ we call task resume (via MachProcess::PrivateResume()) in MachProcess::Kill().


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185048 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/MacOSX/MachProcess.cpp
fa72100a0ac0267163cacde1af4ef43822dc390a 27-Jun-2013 Han Ming Ong <hanming@apple.com> <rdar://problem/14281898>

Much faster way to get dirty size.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185033 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachVMMemory.cpp
813bec3072bc145dc9d80c5ef04daf8406b91ac0 26-Jun-2013 Han Ming Ong <hanming@apple.com> <rdar://problem/14262854>

Match up with top’s implementation on recent Cab as API has changed a bit.
Tested the same binary running on Zin as well. Tested ARM binary on iOS as well.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185017 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachVMMemory.cpp
63a2648720ab1c245dbafbf00884dd1e1ba22c28 25-Jun-2013 Jason Molenda <jmolenda@apple.com> If debugserver fails to interrogate the inferior process CPU type
for any reason, use debugserver own's cputype as a best guess when
we reply to the debugger's qProcessInfo packet or when initializing
our register tables.
<rdar://problem/13406879>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184829 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
59752d199bb19ffde140b67da147b0afa67f2e88 25-Jun-2013 Jason Molenda <jmolenda@apple.com> Remove some unnecessary uses of nub_break_t in the arm specific
support files for debugserver to fix a build failure for arm. Also
remove some of the code used for software-driven single instruction
stepping; this is slowly being yanked out and these particular bits
overlap with the nub_break_t going away.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184828 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
ac94caa68a4a5fa4bd939d7656a6a12d8fc06a33 12-Jun-2013 Greg Clayton <gclayton@apple.com> Huge performance improvements when one breakpoint contains many locations.

325,000 breakpoints for running "breakpoint set --func-regex ." on lldb itself (after hitting a breakpoint at main so that LLDB.framework is loaded) used to take up to an hour to set, now we are down under a minute. With warm file caches, we are at 40 seconds, and that is with setting 325,000 breakpoint through the GDB remote API. Linux and the native debuggers might be faster. I haven't timed what how much is debug info parsing and how much is the protocol traffic to/from GDB remote.

That there were many performance issues. Most of them were due to storing breakpoints in the wrong data structures, or using the wrong iterators to traverse the lists, traversing the lists in inefficient ways, and not optimizing certain function name lookups/symbol merges correctly.

Debugging after that is also now very efficient. There were issues with replacing the breakpoint opcodes in memory that was read, and those routines were also fixed.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183820 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/DNBBreakpoint.cpp
ebugserver/source/DNBBreakpoint.h
ebugserver/source/DNBDefs.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/MachThread.h
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
a619e8ec81ff9c838285105c034ee70a290be904 07-Jun-2013 Greg Clayton <gclayton@apple.com> Remove the debugserver "--open-connection" option and obey the hostname that is passed into debugserver.

you can now specify:

debugserver host:port
debugserver port
debugserver /path/to/file

When "host" is specified, we will only accept connections from that host. If host is not specified, we default to "localhost".



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183457 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBSocket.cpp
ebugserver/source/RNBSocket.h
ebugserver/source/debugserver.cpp
17d5a0358d60922707fdab6ec9c3251ca44dd614 23-May-2013 Michael Sartain <mikesart@valvesoftware.com> Add ${ansi.XX} parsing to lldb prompt, use-color setting, and -no-use-colors command line options.
settings set use-color [false|true]
settings set prompt "${ansi.bold}${ansi.fg.green}(lldb)${ansi.normal} "
also "--no-use-colors" on the command prompt



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182609 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
3cc1b9c78b84a3796ecb7ba1f57335e952a4b746 23-May-2013 Michael Sartain <mikesart@valvesoftware.com> Fix shutdown to correctly close stdout and stop showing garbage characters on exit.
Patch by Matthew Sorrels


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182539 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
3a54da4467c036cf6b8ed4afe5cdd9dd7409c2d5 23-May-2013 Han Ming Ong <hanming@apple.com> <rdar://problem/13963648>

Changes after feedback:
Directly use function pointer, just to be safer on 10.8.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182529 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachVMMemory.cpp
77d340f114b99ec8e2f7a48cbb674c93e237022b 22-May-2013 Han Ming Ong <hanming@apple.com> <rdar://problem/13963648>

Collect 'anonymous memory' info, if possible

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182523 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBDefs.h
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachVMMemory.cpp
ebugserver/source/MacOSX/MachVMMemory.h
4d4ff9e8f7746ba1b1d597512b7cb711350c0206 21-May-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13892516>

LLDB can now debug across calls to exec when the architecture changes from say i386 to x86_64 (on darwin).



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182345 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/DNBBreakpoint.cpp
ebugserver/source/DNBBreakpoint.h
ebugserver/source/DNBDefs.h
ebugserver/source/MacOSX/MachDYLD.cpp
ebugserver/source/MacOSX/MachDYLD.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
26868913197330e6cc9125678fe4092a72138172 17-May-2013 Daniel Malea <daniel.malea@intel.com> Append missing version number to lldb binary built by cmake
- now, the output binary is called 'lldb-3.4' instead of 'lldb'
- a symlink 'lldb' -> 'lldb-3.4' is also created
- this fixes one of the problems preventing CMake from building Debian packages



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182148 91177308-0d34-0410-b5e6-96231b3b80d8
river/CMakeLists.txt
cf9591fb271ec132c866d264ca21ff06a21841c7 16-May-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13891604>

Fixed a 2 second delay when sending the 'k' (kill) packet that happened due to a race condition.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182025 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
0689f164af4e83dad8b48dc1248433f65a553f20 16-May-2013 Greg Clayton <gclayton@apple.com> Removed unused code and an unused event.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181948 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/DNBDefs.h
4084fe70b71aef8d9d90186f9f54cd8a4d4c6861 14-May-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13764135>

The "lldb" driver was interfering with STDOUT and STDERR if the output was over 1024 charcters long. The output was grabbing 1024 characters at a time, before it output the characters, it was writing characters to the screen to clear the current line. This has been fixed.

I also fixed the command interpreter from mixing the "(lldb) " prompt in with program output by always manually checking for program output. This was done by having the command interpreter know when it is in the middle of executing a command by setting a bool. This was needed since sometimes when a command would run the target, like with a command like 'expression (int)printf("hello\n")', the process would push a new input reader, and then pop it when it was done. This popping of the input reader would cause the command interpreter to get sent a reactivated message (from the private process state thread) and cause it to ask for another command, even though we were still in the middle of the command ('expression (int)printf("hello\n")'). Now we set a bool to true, run the command and set the bool to false. If we get reactivated while we are in the middle of a command, we don't say we are ready for a new command. This coupled with emitting the STDOUT/STDERR first after each command, followed by the command results, followed by then saying we are ready for a new command, should help cleanup the command line output on all platforms.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181807 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
e09196066b61294d30c56ca86d8443bd3078a2f5 07-May-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13063912>

If the user pressed ^D, that would bypass the exit confirmation mechanism
This checkin remedies that by making sure that users get prompted on exit when appropriate even if they use CTRL+D instead of typing quit at the prompt



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181257 91177308-0d34-0410-b5e6-96231b3b80d8
river/IOChannel.cpp
river/IOChannel.h
08f60c88b61c42c35abf3233f0cbe19d29fbe814 04-May-2013 Jason Molenda <jmolenda@apple.com> fix a couple of clang static analyzer warnings.
Most important was a new[] + delete mismatch in ScanFormatDescriptor()
and a couple of possible memory leaks in FileSpec::EnumerateDirectory().


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181080 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachVMMemory.cpp
17a9d265c78823373cd36890f8b0f63e96d223c8 03-May-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13732521>

Updated the logic for the Sketch test case

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180966 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/sketch/sketch.cpp
f9138b7dc02758396f52c09ae5551a1ee4a451ca 01-May-2013 Jim Ingham <jingham@apple.com> Add an option to resume a suspended task.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180830 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-threads/examine-threads.c
b07f8de5d0079d7e5ca53f1f4e5ee256e5474900 24-Apr-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13665446>

Pass the user set target.env-vars when launching through a terminal.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180201 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-debug/darwin-debug.cpp
b6bac2a4c964ecd70aae70bc5b24b0f87e6d5344 22-Apr-2013 Enrico Granata <egranata@apple.com> Proper English not optional

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180053 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/clang/lldb_perf_clang.cpp
102b2c2681c9a830afe25bfea35557421905e42c 19-Apr-2013 Greg Clayton <gclayton@apple.com> After discussing with Chris Lattner, we require C++11, so lets get rid of the macros and just use C++11.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179805 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/DNBDefs.h
ebugserver/source/DNBTimer.h
ebugserver/source/MacOSX/MachThread.h
ebugserver/source/RNBDefs.h
river/Driver.h
ldb-perf/lib/Gauge.cpp
ldb-perf/lib/MemoryGauge.cpp
ldb-perf/lib/Results.cpp
ldb-perf/lib/Results.h
ldb-platform/lldb-platform.cpp
0b10ef61ea60e24fe7736cd98bd5fb45efe9c816 18-Apr-2013 Greg Clayton <gclayton@apple.com> Missed some cases when switching over to using our STD_UNIQUE_PTR macros.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179796 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/lib/Gauge.cpp
ldb-perf/lib/MemoryGauge.cpp
ldb-perf/lib/Results.cpp
ldb-perf/lib/Results.h
81a96aa6242f7b559770f5dc62316253cb8cb0d4 18-Apr-2013 Greg Clayton <gclayton@apple.com> Since we use C++11, we should switch over to using std::unique_ptr when C++11 is being used. To do this, we follow what we have done for shared pointers and we define a STD_UNIQUE_PTR macro that can be used and it will "do the right thing". Due to some API differences in std::unique_ptr and due to the fact that we need to be able to compile without C++11, we can't use move semantics so some code needed to change so that it can compile with either C++.

Anyone wanting to use a unique_ptr or auto_ptr should now use the "STD_UNIQUE_PTR(TYPE)" macro.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179779 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBDefs.h
ebugserver/source/DNBTimer.h
ebugserver/source/MacOSX/MachThread.h
river/Driver.h
ldb-platform/lldb-platform.cpp
442b3f60c3569eb2445df8c72065a93a44bf97bf 16-Apr-2013 Enrico Granata <egranata@apple.com> New CallNext action for the test case that causes the next action in the sequence to be called right away

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179578 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/lib/TestCase.cpp
ldb-perf/lib/TestCase.h
177ac0db135db53edd2c6158d8e3190d2e78b566 15-Apr-2013 Enrico Granata <egranata@apple.com> More updates to test cases

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179560 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/clang/lldb_perf_clang.cpp
ldb-perf/common/stepping/lldb-perf-stepping.cpp
ldb-perf/lldbperf.xcodeproj/project.pbxproj
4d77c182b3b4fd418ccb488469aa18262bfe481b 15-Apr-2013 Enrico Granata <egranata@apple.com> Sketch test now runs 10 times
Data formatters test outputs stddev

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179559 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/formatters/formatters.cpp
ldb-perf/darwin/sketch/sketch.cpp
ec87e5c098f1ce1c9182d1c5438e0beca0996597 15-Apr-2013 Enrico Granata <egranata@apple.com> Enabling test case to write the average+stddev pair to the results
The sketch test case writes avg+stddev for all its metrics:
<key>fetch-frames</key>
<dict>
<key>description</key>
<string>time to dump backtrace for every frame in every thread</string>
<key>stddev</key>
<real>0.006270938361432314</real>
<key>value</key>
<real>0.011568079851851851</real>
</dict>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179550 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/sketch/sketch.cpp
ldb-perf/lib/Measurement.h
ldb-perf/lib/Metric.cpp
ldb-perf/lib/Metric.h
ldb-perf/lib/Results.cpp
ldb-perf/lib/Results.h
b8158c8227c34b0fde91cf8602003f250bead007 15-Apr-2013 Enrico Granata <egranata@apple.com> - Adding a relaunch feature to the performance tester: you can use the relaunch if you want to measure multiple runs of your app keeping the same metrics alive. New arguments must be supplied - and the step counter will not be reset (this makes it easy to avoid endless loops)
- Having the Sketch test case relaunch itself

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179548 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/sketch/sketch.cpp
ldb-perf/lib/TestCase.cpp
ldb-perf/lib/TestCase.h
6e792e9565c78f96ef5e0e36d467f724fd4efbf2 12-Apr-2013 Enrico Granata <egranata@apple.com> Sketch test case improvements:
- use the TestCase option parsing
- dump output to stdout when no file is provided

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179415 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/sketch/sketch.cpp
7905badf63cdca9b5eb26a81976edcaf67890c92 11-Apr-2013 Enrico Granata <egranata@apple.com> Updated the line on which to break for the formatters test

Moving over to source-regex might be a good idea, but it’s not what we really want to test. Ideally, we would set a regex breakpoint to find the right line, then delete it and set one by file and line with the right line info from before.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179246 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/formatters/formatters.cpp
e255a7d13780e35b97e0f2954cba47cc9eaae7e0 06-Apr-2013 Jason Molenda <jmolenda@apple.com> Cache the VM page size that we get from task_vm_info so we don't
re-fetch the value.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178962 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachVMMemory.cpp
dfb7c7f12cbefccf5f097ec90f6d157e2a32f35d 06-Apr-2013 Jason Molenda <jmolenda@apple.com> Add optional LOG_TASK logging for MachVMMemory::PageSize when the call succeeds, too.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178955 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachVMMemory.cpp
92748483a4c36e9bf2535abb863dbca1271053a1 06-Apr-2013 Jason Molenda <jmolenda@apple.com> Add optional LOG_TASK logging for MachVMMemory::PageSize() task_info call failure.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178954 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachVMMemory.cpp
fb190f3e1ddbaf9fb72e15a96e103de2b9c0dc44 06-Apr-2013 Jason Molenda <jmolenda@apple.com> Update MachVMMemory::PageSize to get the page size of a specific process
if we have an updated task_info call available; else fall back to getting
the default host-wide page size.

Update all uses of the vm page size to get it via MachVMMemory::PageSize().

<rdar://problem/13477763>, <rdar://problem/13498504>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178953 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachTask.h
ebugserver/source/MacOSX/MachVMMemory.cpp
ebugserver/source/MacOSX/MachVMMemory.h
3f2f741bb533b78e2fac5332c4698338ea2fd3ac 04-Apr-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13457391>

LLDB now can use a single dash for all long options for all commands form the command line and from the command interpreter. This involved just switching all calls from getopt_long() to getopt_long_only().



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178789 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-debug/darwin-debug.cpp
ebugserver/source/debugserver.cpp
river/Driver.cpp
ldb-perf/common/clang/lldb_perf_clang.cpp
ldb-perf/common/stepping/lldb-perf-stepping.cpp
ldb-perf/darwin/sketch/sketch.cpp
ldb-platform/lldb-platform.cpp
427b7e842d0ce6d2099a07fc13cdd0b9d7e9c12a 04-Apr-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13198919>

Try and reap process when sending the "k" packet to avoid a race condition. We now wait for at most 1 second to reap the child process that we are killing.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178726 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
aeabc5e251105512ea7539b2f62ad3edd485d0dc 03-Apr-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/12789467>

Fixed an attach case for ARM that was imporperly detecting an application bundle when there wasn't one.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178704 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
81881d210e18eb8b1d5a638f575bf56c8b5676fe 03-Apr-2013 Jason Molenda <jmolenda@apple.com> Remove a bit of code duplication in RNBRemote::HandlePacket_qProcessInfo -
call DNBProcessGetCPUType() to get the cputype of the process we're debugging.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178620 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
afe3763f13dc122006ad6b5ed377e789e09c8715 03-Apr-2013 Jason Molenda <jmolenda@apple.com> Fix another old usage of GetCurrentThread() to get a mach port
number in RNBRemote::HandlePacket_qProcessInfo -- add a new
GetCurrentThreadMachPort() so callers who need to make a mach
thred_get_state() call at the RNBRemote level will have a way to
get the port number.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178619 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/RNBRemote.cpp
08257e457b2aab6453618cb64c033e5a64115da1 02-Apr-2013 Enrico Granata <egranata@apple.com> Enabling metrics to calculate (and dump) their standard deviation

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178580 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/lib/Measurement.h
ldb-perf/lib/MemoryGauge.cpp
ldb-perf/lib/MemoryGauge.h
ldb-perf/lib/Metric.cpp
ldb-perf/lib/Metric.h
101a2d6d590b12f9647032d656a13d3d7c432038 02-Apr-2013 Enrico Granata <egranata@apple.com> Misc fixes:
- make an overload of Launch() that takes an init list of const char* if all you need to tweak in the launch info are the command-line arguments
- make Run() return an int that you can use as an exit-code
- make dynamic values work properly when recursing in FetchVariables()
- make the po output more obvious in verbose mode

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178578 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/lib/TestCase.cpp
ldb-perf/lib/TestCase.h
ldb-perf/lib/Xcode.cpp
1574f8a7ed6b1f3ddbc3b15b7f01c8b1164b286f 02-Apr-2013 Jim Ingham <jingham@apple.com> Remove some unused code.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178512 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
b1b36ec6dcfbe7c7dfa423d50cb7c2296deca68e 01-Apr-2013 Enrico Granata <egranata@apple.com> Integrating option parsing in TestCase for added convenience
To hook it up to individual test cases:
- define GetLongOptions() in your test case class to return something other than NULL (hopefully an array of options :-)
- implement ParseOption() to check for the short option char and do the right thing - return true at the end if you want more options to come your way or false if you don’t
- make sure that your Setup() call takes int& and char**& so that optind post-processing can happen - and call TestCase::Setup from your setup

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178482 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/clang/lldb_perf_clang.cpp
ldb-perf/common/stepping/lldb-perf-stepping.cpp
ldb-perf/darwin/formatters/formatters.cpp
ldb-perf/darwin/sketch/sketch.cpp
ldb-perf/lib/TestCase.cpp
ldb-perf/lib/TestCase.h
51a53958518a1b2aa4b8c37276dcc3a2516c00a5 01-Apr-2013 Enrico Granata <egranata@apple.com> Proper option parser for the Sketch test case

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178477 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/sketch/sketch.cpp
473ff991a3295666eddf89415f6c38ac4afad230 28-Mar-2013 Jason Molenda <jmolenda@apple.com> Debugserver fix for launching iOS apps who are named "com.apple.something"
- the ".app" would be treated as the app bundle final characters
and the SpringBoard launch would fail.
<rdar://problem/13258935>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178209 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
952e9dc874944fcdbbb224f3ec4fc2c859376f64 28-Mar-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13521159>

LLDB is crashing when logging is enabled from lldb-perf-clang. This has to do with the global destructor chain as the process and its threads are being torn down.

All logging channels now make one and only one instance that is kept in a global pointer which is never freed. This guarantees that logging can correctly continue as the process tears itself down.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178191 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/debugserver.xcodeproj/xcshareddata/xcschemes/debugserver.xcscheme
ldb-perf/common/clang/lldb_perf_clang.cpp
1a6ca000a8cbea0bdf736ed3f2615628bfd32e46 27-Mar-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13327940>

Cleaned up some paths.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178177 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/clang/lldb_perf_clang.cpp
d31cd4aa3d1b311a940eb3543f018aace0ba9716 27-Mar-2013 Greg Clayton <gclayton@apple.com> Added a source file needed for clang to compile in the lldb_perf_clang test.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178176 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/clang/main.cpp
2bba866ae44707183679c1b974409d6386a76bac 27-Mar-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13327940>

Enhance automated testing to include evaluating function calls.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178175 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/clang/lldb_perf_clang.cpp
ec1799a439c74497f64206b30d3e3c0e4e775317 27-Mar-2013 Greg Clayton <gclayton@apple.com> Prune more stuff out of the build and source folders after building clang.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178112 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/clang/build-clang.sh
981aa57c416161574eb5a2f8e1e77d0d94de1e96 26-Mar-2013 Greg Clayton <gclayton@apple.com> Cleaned up how LLDB.framework was being linked to and also how the target dependencies.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178085 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/lldbperf.xcodeproj/project.pbxproj
aa08062b169a51f3334a662f14f5ea2c626b7d13 26-Mar-2013 Greg Clayton <gclayton@apple.com> Trim the output build folder a bit to it isn't so large.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178070 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/clang/build-clang.sh
094e2a9b484381bd35d95090c7501b1e3880e92f 26-Mar-2013 Jim Ingham <jingham@apple.com> Change the stepping test to output "total time" for the step as well.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178043 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/stepping/lldb-perf-stepping.cpp
ldb-perf/lldbperf.xcodeproj/project.pbxproj
e7d8c6e2fcc9486682d8e6240cd21bc0920b8d99 26-Mar-2013 Greg Clayton <gclayton@apple.com> Remove FunctionProfiler and ProfileObjectiveC action classes as they are not used.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178035 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/FunctionProfiler.cpp
ebugserver/source/FunctionProfiler.h
ebugserver/source/ProfileObjectiveC.cpp
ebugserver/source/ProfileObjectiveC.h
0b51bed6fbaa9d63730d54a2891e9d73d5bec773 26-Mar-2013 Jim Ingham <jingham@apple.com> Make the stepping perf test case actually work.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177964 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/stepping/lldb-perf-stepping.cpp
ldb-perf/common/stepping/stepping-testcase.cpp
ldb-perf/lldbperf.xcodeproj/project.pbxproj
2a647e4b0eb044cffab5c8c29b6af9ed52129544 25-Mar-2013 Han Ming Ong <hanming@apple.com> <rdar://problem/13498504>

Don't hard code vm page size in profiling code

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177907 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachVMMemory.cpp
f44636bb5faa8ebf003c18e2ff20520bf7e5e938 23-Mar-2013 Jason Molenda <jmolenda@apple.com> Add two additional DNBLog's in places where we're about to kill
off the inferior process so we stand a better chance of understanding
what caused us to send a PT_KILL.
<rdar://problem/12720340>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177817 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
ebugserver/source/debugserver.cpp
073ce1767f25e16be65e2835092c0d2d51ee599a 23-Mar-2013 Greg Clayton <gclayton@apple.com> Added better measurements to test:
- memory delta and time for: target create
- memory delta and time for: setting breakpoint at main by name
- time to launch and hit bp at main
- overall memory of target create + bp main + run to main
- ovarall time of target create + bp main + run to main



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177808 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/clang/lldb_perf_clang.cpp
1c31631dfbaacaf9ef61f45977fae0b29fdad1d2 23-Mar-2013 Greg Clayton <gclayton@apple.com> Make sure the "Release" builds link against the "Release" LLDB.framework and also output the results to /dev/stdout when no outfile is supplied.




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177791 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/clang/lldb_perf_clang.cpp
ldb-perf/lib/Results.cpp
ldb-perf/lldbperf.xcodeproj/project.pbxproj
7dd846ae1be02fae0fc945cd511c915270d69ccc 23-Mar-2013 Jason Molenda <jmolenda@apple.com> Change debugserver to open the socket it listens
to in INADDR_LOOPBACK mode by default ("localhost only")
instead of INADDR_ANY ("accept connections from any system").

Add a new command line argument to debugserver, --open-connection
or -H which will enable the previous behavior. It would be used
if you were doing two-system debugging, with lldb running on one
system and debugserver running on the other. But it is a less
common workflow and should not be the default.

<rdar://problem/12583284>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177790 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBSocket.cpp
ebugserver/source/RNBSocket.h
ebugserver/source/debugserver.cpp
ca107c2f633f71fff71f65697d5c9b0827544c31 22-Mar-2013 Greg Clayton <gclayton@apple.com> Added option parsing to the lldb_perf_clang performance test.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177759 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/clang/lldb_perf_clang.cpp
d2c50b1793f69af4d09b5ba364dc0a1a88ec26f5 22-Mar-2013 Greg Clayton <gclayton@apple.com> More cleanup to remove the CoreFoundation classes out of mainstream code (CFCMutableDictionary, CFCMutableArray, CFCString, etc). Now it is only used in the Results.cpp file for Apple builds only.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177697 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/lib/Gauge.h
ldb-perf/lib/Measurement.h
ldb-perf/lib/Metric.cpp
ldb-perf/lib/Metric.h
ldb-perf/lib/Timer.cpp
9de4dec874148d30cc1d4c498d38cd048a8164ca 22-Mar-2013 Greg Clayton <gclayton@apple.com> Much more cleanup on the performance testing infrastructure:
- Added new abtract Results class to keep CoreFoundation out of the tests. There are many subclasses for different settings:
Results::Result::Dictionary
Results::Result::Array
Results::Result::Unsigned
Results::Result::Double
Results::Result::String
- Gauge<T> can now write themselves out via a templatized write to results function:
template <class T>
Results::ResultSP GetResult (const char *description, T value);

- There are four specializations of this so far:
template <>
Results::ResultSP GetResult (const char *description, double value);

template <>
Results::ResultSP GetResult (const char *description, uint64_t value);

template <>
Results::ResultSP GetResult (const char *description, std::string value);

template <>
Results::ResultSP GetResult (const char *description, MemoryStats value);
- Don't emit the virtual memory reading from the task info call as it really doesn't mean much as it includes way too much (shared cache + other stuff we don't have control over)
- Fixed other test cases to build correctly and use the new classes



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177696 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/clang/build-clang.sh
ldb-perf/common/clang/lldb_perf_clang.cpp
ldb-perf/common/stepping/lldb-perf-stepping.cpp
ldb-perf/darwin/formatters/formatters.cpp
ldb-perf/darwin/sketch/sketch.cpp
ldb-perf/lib/Gauge.cpp
ldb-perf/lib/Gauge.h
ldb-perf/lib/Measurement.h
ldb-perf/lib/MemoryGauge.cpp
ldb-perf/lib/MemoryGauge.h
ldb-perf/lib/Metric.cpp
ldb-perf/lib/Metric.h
ldb-perf/lib/Results.cpp
ldb-perf/lib/Results.h
ldb-perf/lib/TestCase.cpp
ldb-perf/lib/TestCase.h
ldb-perf/lib/Timer.cpp
ldb-perf/lib/Timer.h
ldb-perf/lldbperf.xcodeproj/project.pbxproj
a3df3b0c89ab584262098f8d877e8a72e3614a08 21-Mar-2013 Jim Ingham <jingham@apple.com> The outline of the stepping perf test case, doesn't do anything yet.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177646 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/stepping/lldb-perf-stepping.cpp
ldb-perf/common/stepping/stepping-testcase.cpp
ldb-perf/lldbperf.xcodeproj/project.pbxproj
d3a8d6565ff40fd99533f50a085ace806a9300ee 21-Mar-2013 Greg Clayton <gclayton@apple.com> Add correct file headers to all source files.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177625 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/formatters/fmts_tester.mm
ldb-perf/darwin/formatters/formatters.cpp
ldb-perf/darwin/sketch/sketch.cpp
ldb-perf/lib/Gauge.h
ldb-perf/lib/Measurement.h
ldb-perf/lib/MemoryGauge.cpp
ldb-perf/lib/MemoryGauge.h
ldb-perf/lib/Metric.cpp
ldb-perf/lib/Metric.h
ldb-perf/lib/TestCase.cpp
ldb-perf/lib/TestCase.h
ldb-perf/lib/Timer.cpp
ldb-perf/lib/Timer.h
ldb-perf/lib/Xcode.cpp
ldb-perf/lib/Xcode.h
75fc5a74d95804e2ddc87bcade177640521147e0 21-Mar-2013 Greg Clayton <gclayton@apple.com> Modify code to adhere to LLDB coding conventions.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177623 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/formatters/formatters.cpp
ldb-perf/lib/Gauge.h
ldb-perf/lib/Measurement.h
ldb-perf/lib/MemoryGauge.cpp
ldb-perf/lib/MemoryGauge.h
ldb-perf/lib/Metric.cpp
ldb-perf/lib/Metric.h
ldb-perf/lib/TestCase.h
ldb-perf/lib/Timer.cpp
ldb-perf/lib/Timer.h
2d098408c757270ad1ae36475ab8300ecc1d3bc6 21-Mar-2013 Greg Clayton <gclayton@apple.com> Added a lldb-perf test case that will be used to time various aspects of debugging clang with LLDB.

This test case will measure memory usage and expression timings in frame zero and at higher frames.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177617 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/common/clang/build-clang.sh
ldb-perf/common/clang/lldb_perf_clang.cpp
ldb-perf/lldbperf.xcodeproj/project.pbxproj
3c6f51715ac410086b872649b22940262a368d5c 21-Mar-2013 Greg Clayton <gclayton@apple.com> Simplify the logic for DNBDataRef::ValidOffsetForDataOfSize() and DNBDataRef::ValidOffset() functions.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177615 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBDataRef.h
21ac3cbd69627081b1b35f1ff3fa50e72f751455 21-Mar-2013 Enrico Granata <egranata@apple.com> Making a manual mode of operation for measurements, where you can manually call start() and stop() instead of using the function-call syntax
This is especially useful to take measurements that span multiple test steps, or where you need to have different operations fall under the same measurement

An example of use is in the formatters perf test case

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177597 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/formatters/formatters.cpp
ldb-perf/lib/Measurement.h
e62d448f4b663edfac26b9071323606b1b5fdc1d 20-Mar-2013 Enrico Granata <egranata@apple.com> Making the test step count a member variable so that it can be accessed easily

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177594 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/lib/TestCase.cpp
ldb-perf/lib/TestCase.h
3ffb7ed9e634aabc330acdb4a369646caa08c6a2 20-Mar-2013 Enrico Granata <egranata@apple.com> Renaming perf. main files from main.cpp to something meaningful

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177587 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/formatters/formatters.cpp
ldb-perf/darwin/formatters/main.cpp
ldb-perf/darwin/sketch/main.cpp
ldb-perf/darwin/sketch/sketch.cpp
ldb-perf/lldbperf.xcodeproj/project.pbxproj
53bba61c0b9f3b3ceff5835f79d61efa0d81847c 20-Mar-2013 Enrico Granata <egranata@apple.com> Making MemoryGauge work by fixing a Mach API call mistake - saving (and dumping) more information out of the task_info call

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177580 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/lib/Measurement.h
ldb-perf/lib/MemoryGauge.cpp
ldb-perf/lib/MemoryGauge.h
ldb-perf/lib/Metric.cpp
ldb-perf/lib/Metric.h
ldb-perf/lib/TestCase.h
2002c030ded5da1adf38ceb76a7f393baa7a87e3 19-Mar-2013 Greg Clayton <gclayton@apple.com> Update Sketch test case to capture this and use accessors for debugger, target, process and thread.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177425 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/sketch/main.cpp
ldb-perf/lib/TestCase.h
91c570abdc2eb7f0d9bc5affb086d515838ebc39 19-Mar-2013 Greg Clayton <gclayton@apple.com> More cleanup on the lldb-perf code:
- TestCase.m_thread is now filled in with the first thread that has a valid
stop reason. This eliminates the need for the SelectMyThread() functions.
- The first thread that stops for a reason is also set as the selected thread
in the process in case any command line commands are run.
- Changed launch over to take a SBLaunchInfo parameter so that the launch
function doesn't keep getting new arguments as they are needed.
- TestCase::Setup() and TestCase::Launch(SBLaunchInfo) now return bool to
indicate success of setup and launch.
- ActionWanted::Next(SBThread) was renamed to ActionWanted::StepOver(SBThread)
- ActionWanted::Finish(SBThread) was renamed to ActionWanted::StepOut(SBThread)




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177376 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ldb-perf/README
ldb-perf/darwin/formatters/main.cpp
ldb-perf/darwin/sketch/main.cpp
ldb-perf/lib/TestCase.cpp
ldb-perf/lib/TestCase.h
ldb-perf/lib/Xcode.cpp
ldb-perf/lldbperf.xcodeproj/project.pbxproj
535f53c8795b3592ce835804af5cef89be39ceea 19-Mar-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13443931>

Fixed a crasher in the SourceManager where it wasn't checking the m_target member variable for NULL.

In doing this fix, I hardened this class to have weak pointers to the debugger and target in case they do go away. I also changed SBSourceManager to hold onto weak pointers to the debugger and target so they don't keep objects alive by holding a strong reference to them.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177365 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/lldbperf.xcodeproj/project.pbxproj
5ae5ae08c86bf7154f2bef8aab7f05ab40c38559 19-Mar-2013 Greg Clayton <gclayton@apple.com> Fixed the README to match the current code.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177346 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/README
6fd501049a72c5232eac177db345abbf691929c3 19-Mar-2013 Jim Ingham <jingham@apple.com> Add a comment about how to add a target for a test case.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177343 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/README
788bb8dc33510d72011461808f4282a524086121 19-Mar-2013 Jim Ingham <jingham@apple.com> Move the performance test cases into their own project.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177341 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/lldbperf.xcodeproj/project.pbxproj
af222500aa2ce2b18149277e561cdf75f2115df2 18-Mar-2013 Greg Clayton <gclayton@apple.com> Code cleanup:
- don't use preprocessor macros
- use switch statements
- don't put anything in the lldb namespace, use "lldb_perf" namespace.
- Pass the action struct into each TestStep() for each step fill in
- Modify the ActionWanted class to have accessors to make the continue, next, finish, kill instead of using preproc macros



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177332 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/formatters/main.cpp
ldb-perf/darwin/sketch/main.cpp
ldb-perf/lib/Gauge.h
ldb-perf/lib/Measurement.h
ldb-perf/lib/MemoryGauge.cpp
ldb-perf/lib/MemoryGauge.h
ldb-perf/lib/Metric.cpp
ldb-perf/lib/Metric.h
ldb-perf/lib/TestCase.cpp
ldb-perf/lib/TestCase.h
ldb-perf/lib/Timer.cpp
ldb-perf/lib/Timer.h
ldb-perf/lib/Xcode.cpp
ldb-perf/lib/Xcode.h
190276872994426fb0398e1cf521748249b75875 16-Mar-2013 Han Ming Ong <hanming@apple.com> <rdar://problem/13100435>

Don't discount regions that vmmap is not discounting.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177202 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachVMMemory.cpp
7a969e6e313a9c93cc4d4b920a41ef9e8b40ecc4 14-Mar-2013 Enrico Granata <egranata@apple.com> Make a README file with an introduction and basic directions for the lldb-perf infrastructure

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177109 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/README
c50fc4b658c46ef43b1add131391ecdd1f9bd752 14-Mar-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13228487>

A test case for the performance of some LLDB formatters
Changes and improvements to the testing infrastructure itself



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177100 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/formatters/fmts_tester.mm
ldb-perf/darwin/formatters/main.cpp
ldb-perf/darwin/sketch/foobar.sketch2
ldb-perf/darwin/sketch/main.cpp
ldb-perf/lib/Measurement.h
ldb-perf/lib/Metric.cpp
ldb-perf/lib/Metric.h
ldb-perf/lib/TestCase.cpp
ldb-perf/lib/TestCase.h
ldb-perf/lib/Xcode.cpp
a53a76965eb603afe5705c694ee8e3344f91cc61 13-Mar-2013 Han Ming Ong <hanming@apple.com> <rdar://problem/13415471>

Don't get dirty page size if we are not going to send it back

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176992 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachVMMemory.cpp
7ddd06257641c6386a0fd809cad42839597e17b9 13-Mar-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13396207>

Added logging that will show up in the system console when we try to resume a process that is already running, or has an unexpected state.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176960 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
b649f7f34951e7495b33dbb4c2e240866941bb37 13-Mar-2013 Jason Molenda <jmolenda@apple.com> Various fixes for armv7 floating point/vector register support.
Drop the old f registers from debugserver's register list. Add the
NEON 128-bit q registers to debugserver, support reading and writing.
Add the new contains / invalidates mappings for the s, d, and q
registers so lldb will know what registers overlay what other registers.
Change the default format of s and d registers to be floating point
instead of hex. Remove some UTF-8 hyphen chars in comments in the ARM
register number definition headers.
<rdar://problem/13121797>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176915 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/ARM_DWARF_Registers.h
ebugserver/source/ARM_GCC_Registers.h
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/RNBRemote.cpp
aed59619469c06e7eba11e64bd40e7a02f68eaaa 09-Mar-2013 Jason Molenda <jmolenda@apple.com> Remove use of the ARMDisassembler framework from
DNBArchImplARM. This framework is no longer around;
all armv7 devices support using hardware breakpoints
to instruction single step.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176761 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
4340ff246ada8e0c6968f31d5986f2dce744619c 09-Mar-2013 Jason Molenda <jmolenda@apple.com> Also remove actual link against the ARMDisassembler framework from
debugserver's build settings.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176760 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
b73ebdfc72177621fcd1462c1716c7fcb19eb539 09-Mar-2013 Jason Molenda <jmolenda@apple.com> We don't need to specify the VALID_ARCHS in the xcode project file.
Also, don't build debugserver with -DUSE_ARM_DISASSEMBLER_FRAMEWORK -
that framework isn't around at this point.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176759 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
385a5047fadd153639681704eb5711db9701350f 08-Mar-2013 Enrico Granata <egranata@apple.com> Dump the measurements directly instead of getting their metrics first
(this code needs to be pushed up so that in the basic scenarios TestCase knows to dump all its measurements directly)

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176718 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/sketch/main.cpp
f5af85a2946ed4e1ff4766829d328cfb4961f259 08-Mar-2013 Enrico Granata <egranata@apple.com> Initial checkin of a new project: LLDB Performance Testing Infrastructure

This is a very basic implementation of a library that easily allows to drive LLDB.framework to write test cases for performance

This is separate from the LLDB testsuite in test/ in that:
a) this uses C++ instead of Python to avoid measures being affected by SWIG
b) this is in very early development and needs lots of tweaking before it can be considered functionally complete
c) this is not meant to test correctness but to help catch performance regressions

There is a sample application built against the library (in darwin/sketch) that uses the famous sample app Sketch as an inferior to measure certain basic parameters of LLDB's behavior.
The resulting output is a PLIST much like the following:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>fetch-frames</key>
<real>0.13161715522222225</real>
</dict>
<dict>
<key>file-line-bkpt</key>
<real>0.029111678750000002</real>
</dict>
<dict>
<key>fetch-modules</key>
<real>0.00026376766666666668</real>
</dict>
<dict>
<key>fetch-vars</key>
<real>0.17820429311111111</real>
</dict>
<dict>
<key>run-expr</key>
<real>0.029676525769230768</real>
</dict>
</array>
</plist>

Areas for improvement:
- code cleanups (I will be out of the office for a couple days this coming week, but please keep ideas coming!)
- more metrics and test cases
- better error checking

This toolkit also comprises a simple event-loop-driven controller for LLDB, similar yet much simpler to what the Driver does to implement the lldb command-line tool.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176715 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-perf/darwin/sketch/main.cpp
ldb-perf/lib/Gauge.h
ldb-perf/lib/Measurement.h
ldb-perf/lib/MemoryGauge.cpp
ldb-perf/lib/MemoryGauge.h
ldb-perf/lib/Metric.cpp
ldb-perf/lib/Metric.h
ldb-perf/lib/TestCase.cpp
ldb-perf/lib/TestCase.h
ldb-perf/lib/Timer.cpp
ldb-perf/lib/Timer.h
ldb-perf/lib/Xcode.cpp
ldb-perf/lib/Xcode.h
6778c99d79ae1db2d3f40a9f07d9e8ffda161799 07-Mar-2013 Sean Callanan <scallanan@apple.com> Updated Apple LLDB version to lldb-300.99.0. Also
updated the build system to support the new Apple
LLDB versioning scheme.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176662 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
nstall-headers/Makefile
cec43ab7f30085ac7f65a26a58b956a69e363a3b 04-Mar-2013 Han Ming Ong <hanming@apple.com> <rdar://problem/13338758>

Make it configurable what to profile.
For Mac, we don't use the dirty page size yet and hence there is no need to gather that. This should be way better in not draining the battery since we are operating between 0% to 0.1% on the Mac after this change.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176451 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/DNBDefs.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachTask.h
ebugserver/source/MacOSX/MachVMMemory.cpp
ebugserver/source/MacOSX/MachVMMemory.h
ebugserver/source/RNBRemote.cpp
46198d44860ab4928e18fef38158b7d5bfea3a6f 01-Mar-2013 Jason Molenda <jmolenda@apple.com> Add the standard LLVM copyright notice to the top of
these two new files.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176312 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/libdebugserver.cpp
ebugserver/source/libdebugserver.h
137c4d7b3c76b29cb901d922ebd69eedc6a9ad96 01-Mar-2013 Daniel Malea <daniel.malea@intel.com> Finish up CMake support for LLDB (tested on Linux)
- add missing scripts (driver, tests, etc...)
- enable running of tests from cmake with "make check-lldb" target
- fix up problem with clang dependencies (this enables parallel builds)
- implement platform-specific FIXMEs in source/CMakeLists.txt




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176306 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
river/CMakeLists.txt
3a05d8950e886c4e2014b90464eda52b34e2e67f 28-Feb-2013 Jason Molenda <jmolenda@apple.com> Add the libdebugserver.cpp for creating a library that does debugserver
work. There isn't any target in the xcode project file which will build
this yet.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176234 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/libdebugserver.cpp
ebugserver/source/libdebugserver.h
549ce88d2f36e4c0abd942c234761636cc5d5008 27-Feb-2013 Jason Molenda <jmolenda@apple.com> Fix one remaining mach port number/globally unique thread ID mixup which prevented queue names
from being fetched correctly. <rdar://problem/13290877>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176141 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThread.h
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/MacOSX/MachThreadList.h
560829d304bd7aaa33027dcfac247ce6673d0c19 26-Feb-2013 Han Ming Ong <hanming@apple.com> <rdar://problem/13282582>

Really don't call sysctl again when we already have the result.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176062 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
643adf8a3e1b5056fa2eedcc1b8bebbb1791dd9b 25-Feb-2013 Jim Ingham <jingham@apple.com> Add a log line when debugserver exits, and clean up some of the other standard logs output to make it more useful.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176039 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/debugserver.cpp
4eff6fca7d9209b8a2504e0c1ccae94c76ee9b06 25-Feb-2013 Han Ming Ong <hanming@apple.com> <rdar://problem/13282582>

Need available CPU on target device to support CPU reporting.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176008 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
647718e08aa186dc4842517933ae5bca27782da9 23-Feb-2013 Han Ming Ong <hanming@apple.com> <rdar://problem/13277100>

Need host_statistics on profile data to get host's user/system/idle clicks


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175928 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
2eaca13a907b3c2ce41602b646d073851dc696eb 22-Feb-2013 Jim Ingham <jingham@apple.com> Call el_resize when the window size changes.

<rdar://problem/13270100>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175926 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
river/IOChannel.cpp
river/IOChannel.h
4fd6f36c00519bf8313fad72836effbe973b83ed 22-Feb-2013 Jason Molenda <jmolenda@apple.com> Remove unintended comment.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175873 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
44eb9fb021023027159df55f91c3e95384088970 22-Feb-2013 Jason Molenda <jmolenda@apple.com> Change debugserver from using the mach port number (in debugserver's
own port namepsace) as the thread identifier to using the system-wide
globally unique thread id as the thread identifier number.

MachThread.cpp keeps both the unique id and the mach port number
for each thread. All layers outside MachThread class use the unique
id with three exceptions: (1) Mach exceptions come in with the port
number (thread_port) which needs to be translated, (2) any calls to
low-level thread_get_state/thread_set_state/thread_suspend etc need
to use the mach port number, (3) MachThreadList::UpdateThreadList
which creates the MachThread objects gets the unique id and passes
it to the MachThread ctor as an argument.

In general, any time nub_thread_t is used, it is now referring to a
unique thread id. Any time a thread_t is used, it is now referring
to a mach port number. There was some interchangability of these
types previously. nub_thread_t has also been changed to a 64-bit
type which necessitated some printf specification string changes.

I haven't been able to test these changes extensively yet but want
to checkpoint the work. The scenarios I've been testing are all
working correctly so while there may be some corner cases I haven't
hit yet, I think it is substantially correct.

<rdar://problem/12931414>



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175870 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNBBreakpoint.cpp
ebugserver/source/DNBDefs.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/MachThread.h
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/MacOSX/MachThreadList.h
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/ppc/DNBArchImpl.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
b989d7878062ff854ff212524ac694b3e1dacbe2 21-Feb-2013 Han Ming Ong <hanming@apple.com> <rdar://problem/13259230>

Remember to set m_profile_thread to NULL once the profile thread is turned off.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175761 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
3fb2c93fdab778e3da7e340ae13f06678ef71db2 16-Feb-2013 Greg Clayton <gclayton@apple.com> Added a kqueue class which isn't being used yet, but was part of trying to work around the limitations with the unix select() call and how it is limited to FD_SETSIZE file descriptors.

Also added a TimeSpecTimeout class which can be used with any calls that take a "struct timespec *" as an argument. It is used by the KQueue class.

Also updated some project settings.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175377 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
cc633423fd6327c70fbff210f785c1004d03b0f9 16-Feb-2013 Greg Clayton <gclayton@apple.com> Get rid of a warning.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175337 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachException.cpp
151e3be552fea65cc4f03eaa1c425f793266fe56 14-Feb-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/12693921>

Rename the monitor command from "qCmd" (incorrect) to "qRcmd".



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175191 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
89e248f04ecb87d0df4a4b96158c3fac0a3e43c7 09-Feb-2013 Jim Ingham <jingham@apple.com> Reworked the way Process::RunThreadPlan and the ThreadPlanCallFunction interoperate to fix problems where
hitting auto-continue signals while running a thread plan would cause us to lose control of the debug
session.

<rdar://problem/12993641>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174793 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
9c81c3322b68e49530b5c2180f8a0db8c6a494fb 02-Feb-2013 Greg Clayton <gclayton@apple.com> Added support for the qCmd monitor packet command. Currently it can only do:

set logfile=<path>
set logmask=<num>

But this opens the door for us to do much more.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174258 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBLog.cpp
ebugserver/source/DNBLog.h
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
6acc2042d58276130eb0791a2fb454d9a5f310cf 25-Jan-2013 Han Ming Ong <hanming@apple.com> <rdar://13073234>

Get the number of threads correct.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173466 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
36da2aa6dc5ad9994b638ed09eb81c44cc05540b 25-Jan-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13069948>

Major fixed to allow reading files that are over 4GB. The main problems were that the DataExtractor was using 32 bit offsets as a data cursor, and since we mmap all of our object files we could run into cases where if we had a very large core file that was over 4GB, we were running into the 4GB boundary.

So I defined a new "lldb::offset_t" which should be used for all file offsets.

After making this change, I enabled warnings for data loss and for enexpected implicit conversions temporarily and found a ton of things that I fixed.

Any functions that take an index internally, should use "size_t" for any indexes and also should return "size_t" for any sizes of collections.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173463 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBDataRef.cpp
e8b34711014ec1992c85ef86374940c04351eaa8 25-Jan-2013 Jim Ingham <jingham@apple.com> Don't listen for EXC_RESOURCE exceptions, those should really be handled by the system
handler. Also put in string translations for a couple of exceptions we were missing.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173390 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachException.cpp
5dd1a287ecd9e3dbfda406f2dbc77e29fe5a5058 23-Jan-2013 Jason Molenda <jmolenda@apple.com> Remove a compile time warning in RNBRemote::HandlePacket_qProcessInfo
for non-x86 builds.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173226 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
b5ebe11afa73728a49d56e9fcc8c9622638ee094 23-Jan-2013 Jason Molenda <jmolenda@apple.com> Change the container-regs kv pair in the qRegsiterInfo
reply to be hex encoded, not decimal.

Fix the whitespace in the container-regs/invalidate-regs
documentation, fix one ambiguous hex/decimal number in an
example.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173225 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
679ba16fbf2be2ef93d3c654e2639ab0cb32c598 22-Jan-2013 Greg Clayton <gclayton@apple.com> Changed the register number lists for the qRegisterInfo packet response to be raw hex to match all other register reading and writing APIs.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173105 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
34e71efd963d7422974739519abe4223909200a3 22-Jan-2013 Greg Clayton <gclayton@apple.com> Added all of the 16 and 8 bit register variants for i386.

Modified the ARM register context to invalidate r8 - r14 when the CPSR register is modified.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173104 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
c290ba49b79c88ace8e5c58917489415e429ef01 21-Jan-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13020634>

Fixed the 32, 16, and 8 bit pseudo regs for x86_64 (real reg of "rax" which subvalues "eax", "ax", etc...) to correctly get updated when stepping. Also fixed it so actual registers can specify what other registers must be invalidated when a register is modified. Previously, only pseudo registers could invalidate other registers.

Modified the LLDB qRegisterInfo extension to the GDB remote interface to support specifying the containing registers with the new "container-regs" key whose value is a comma separated list of register numbers. Also added a "invalidate-regs" key whose value is also a comma separated list of register numbers.

Removed the hack GDBRemoteDynamicRegisterInfo::Addx86_64ConvenienceRegisters() function and modified "debugserver" to specify the registers correctly using the new "container-regs" and "invalidate-regs" keys.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173096 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBDefs.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/RNBRemote.cpp
0df19ccfaa20d43245fea877fcfdfd5b2efb08c9 19-Jan-2013 Han Ming Ong <hanming@apple.com> <rdar://problem/12976277>

Swap in index ids for thread ids in GDBRemoteCommunicationClient. Besides dealing with the async logic, I have to take care of the situation when the inferior paused as well.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@172869 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
2e5a47762d33ca0eb4921f04fc3fd7d7b7824724 19-Jan-2013 Jason Molenda <jmolenda@apple.com> Add code to retreive the mach port # for each thread in the inferior application's
mach port namespace in addition to the mach port # in examine-threads' own port
namespace, and print it (when -v is used).


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@172867 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-threads/examine-threads.c
7d96ecc2fe57d7d7289bed7fc633154a310979c7 18-Jan-2013 Jason Molenda <jmolenda@apple.com> <rdar://problem/12243932>
Change RNBSocket from using lockdown's lockdown_secure_checkin()
function to using lockdown's secure_lockdown_checkin() function.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@172775 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBSocket.cpp
ebugserver/source/RNBSocket.h
95472646e1970236b46d1c583355adb1a8052798 17-Jan-2013 Jason Molenda <jmolenda@apple.com> Add one more bit of logging for armv7 watchpoint debugging.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@172702 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
245dc927c0fc10aa4d8dda2a43a8bf35ffff53f9 16-Jan-2013 Han Ming Ong <hanming@apple.com> <rdar://problem/13019628>

Prevent profiling from working on older debugserver. Just a simple renaming since the caller is prepared to handle the ‘unimplemented’ answer.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@172583 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
1f1a683fe4fb3fa4d41368860b75e56bfdbdd239 15-Jan-2013 Jason Molenda <jmolenda@apple.com> Add a few other missing LOG_ types to set_logging() in RNBRemote.cpp;
document some simple bourne shell to re-generate these from the DNBDefs.h
header file in case this needs to be done again in the future.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@172494 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
3de69868b5ed5a2323e2485fff763b4d6e464216 14-Jan-2013 Jim Ingham <jingham@apple.com> Fix a logic error in the condition for a warning log message.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@172442 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
8ec8d64110a5879e4e544dc09e9849498fecb044 12-Jan-2013 Jason Molenda <jmolenda@apple.com> Recognize LOG_WATCHPOINTS in the QSetLogging gdb-remote packet.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@172311 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
0f638a4acf13a047d3c77e4bdcb802eb2a64665c 10-Jan-2013 Han Ming Ong <hanming@apple.com> Use a more unique end delimiter. In any case, the thread names are hexified when returning to lldb.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@172021 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
11ad6233d5b0322b48bde86442b1ee37fcaa1ece 09-Jan-2013 Han Ming Ong <hanming@apple.com> <rdar://problem/12975489>

1. Using mach port number, just like when inferior is paused.
2. Use key:value pair of thread used time instead of comma separated notation.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@172012 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
8492942e52539a5c4fb4c06a865ad8479d496340 05-Jan-2013 Jason Molenda <jmolenda@apple.com> <rdar://problem/12602653>

Add unconditional logging messages to every place in debugserver
where we send a SIGKILL signal or do a ptrace PT_KILL call to
terminate the inferior process. When the debuggee is silently
killed off, the console logging from debugserver can disambiguate
whether debugserver killed off the process because it failed to
completely set it up, becuase it was told to (via the "k" packet),
or if some external daemon killed it.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@171606 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/MacOSX/MachProcess.cpp
aa93c931a4c1275b2fecec23ef34f231afda4773 21-Dec-2012 Jim Ingham <jingham@apple.com> Added an SBAPI to get the PythonPath (if the Host knows how to do that). And a -P option to the Driver
to print it out. Changed dotest.py to use that to find the PythonPath it should use given the lldb binary
it was told to run.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170932 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
278f16e1dd4097bf3dd12b0f63f1fac0f11c4006 21-Dec-2012 Andrew Kaylor <andrew.kaylor@intel.com> Adding eStopReasonThreadExiting and fixing the handling of this state on Linux.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170800 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
fe555673aebe745e5c35412969639ae348ce50d4 19-Dec-2012 Jason Molenda <jmolenda@apple.com> <rdar://problem/11961650>

Update the debugserver "qProcessInfo" implementation to return the
cpu type, cpu subtype, OS and vendor information just like qHostInfo
does so lldb can create an ArchSpec based on the returned values.

Add a new GetProcessArchitecture to GDBRemoteCommunicationClient akin
to GetHostArchitecture. If the qProcessInfo packet is supported,
GetProcessArchitecture will return the cpu type / subtype of the
process -- e.g. a 32-bit user process running on a 64-bit x86_64 Mac
system.

Have ProcessGDBRemote set the Target's architecture based on the
GetProcessArchitecture when we've completed an attach/launch/connect.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170491 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
2b67961c05a0296e7773875a7a6f2cb82fa5c575 18-Dec-2012 Jason Molenda <jmolenda@apple.com> Add a new qProcessInfo packet to debugserver.
This can be used by lldb to ask for information
about the process debugserver is attached to/launched.
Particularly useful on a 64-bit x86 Mac system which
can run 32-bit or 64-bit user-land processes.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170409 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
e31e269a2cfceef90e4ef9e9c2f593a514efd764 17-Dec-2012 Han Ming Ong <hanming@apple.com> <rdar://problem/12890948>

Send thread name using hex encoding.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170370 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
09eb052b6340c2e0b7062cbba72f71db960c61ca 17-Dec-2012 Daniel Malea <daniel.malea@intel.com> Initialize m_done to false in Driver constructor to avoid premature exit bug (spotted on Linux)

Patch by Chia-Hung Duan!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170348 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
72b131f52b7aec3e746b3be65ae730a4f85f29cd 17-Dec-2012 Han Ming Ong <hanming@apple.com> <rdar://problem/12890901>

Capturing thread name during profiling.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170312 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
c8aa9c9b5b9c584daa94cba7592bebea6ce6dfab 14-Dec-2012 Enrico Granata <egranata@apple.com> Trigger the display of error and output in sourced commands from the result object's status instead of the presence of text in the error stream
This should be more consistent with the notion of command success/failure and avoids spewing warnings that the user might not care about
There will need to be an option to specify the level of verbosity desired (never show anything, only show failures, errors and warning, everything)

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170167 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
1581d7d8a976cc63ce44789c07b1b35a80786dfb 13-Dec-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12700464>

Fixing an issue where errors in command files sourced as arguments to command-line lldb (e.g. ./lldb -s foo.cmd) would not be shown to the user



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170146 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
2e2812388b75d3c62c9518cc1a6550ce29325aa6 11-Dec-2012 Jim Ingham <jingham@apple.com> Broadcast an event when the selected thread is changed.

<rdar://problem/10976636>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169810 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
b9db9d5bb01963774f28540dbe2c5a11f586ff29 07-Dec-2012 Daniel Malea <daniel.malea@intel.com> Fix a few more clang (3.2) warnings on Linux:
- remove unused members
- add NO_PEDANTIC to selected Makefiles
- fix return values (removed NULL as needed)
- disable warning about four-char-constants
- remove unneeded const from operator*() declaration
- add missing lambda function return types
- fix printf() with no format string
- change sizeof to use a type name instead of variable name
- fix Linux ProcessMonitor.cpp to be 32/64 bit friendly
- disable warnings emitted by swig-generated C++ code

Patch by Matt Kopec!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169645 91177308-0d34-0410-b5e6-96231b3b80d8
river/IOChannel.cpp
river/Makefile
d35b7b3bfd21f4fd6b048693563eef1b772ae197 07-Dec-2012 Daniel Malea <daniel.malea@intel.com> More Linux warnings fixes (remove default labels as needed):
- as per http://llvm.org/docs/CodingStandards.html#don-t-use-default-labels-in-fully-covered-switches-over-enumerations

Patch by Matt Kopec!




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169633 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
d891f9b872103235cfd2ed452c6f14a4394d9b3a 05-Dec-2012 Daniel Malea <daniel.malea@intel.com> Fix Linux build warnings due to redefinition of macros:
- add new header lldb-python.h to be included before other system headers
- short term fix (eventually python dependencies must be cleaned up)

Patch by Matt Kopec!




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169341 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-platform/lldb-platform.cpp
0bce9a22354df3f00e68ffd912119a0741753b7f 05-Dec-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/12649160>

Added the ability to debug through your process exec'ing itself to the same architecture.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169340 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
965b4040be3970331264fed69bf822296e08c5e1 04-Dec-2012 Greg Clayton <gclayton@apple.com> Get rid of a warning where functions in DNB.h were extern "C" when they don't need to be anymore.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169202 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.h
6475c42148a8ea1ca86e5db465db7eca742d897d 04-Dec-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/12798131>

Cleaned up the option parsing code to always pass around the short options as integers. Previously we cast this down to "char" and lost some information. I recently added an assert that would detect duplicate short character options which was firing during the test suite.

This fix does the following:
- make sure all short options are treated as "int"
- make sure that short options can be non-printable values when a short option is not required or when an option group is mixed into many commands and a short option is not desired
- fix the help printing to "do the right thing" in all cases. Previously if there were duplicate short character options, it would just not emit help for the duplicates
- fix option parsing when there are duplicates to parse options correctly. Previously the option parsing, when done for an OptionGroup, would just start parsing options incorrectly by omitting table entries and it would end up setting the wrong option value



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169189 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
253a86bd127c8d15387ea058eb8a794b6343393a 01-Dec-2012 Jason Molenda <jmolenda@apple.com> Bump lldb version num to lldb-178, debugserver version to debugserver-198.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169081 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
b1087a27f7babc43f332c9d49ac4554892133a41 30-Nov-2012 Jim Ingham <jingham@apple.com> Save and restore terminal state when lldb is suspended with SIGTSTP and resumed with SIGCONT.
Readline & gdb have a bunch of code to handle older UNIX'es with other job control mechanisms.
I didn't try to replicate that.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169032 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
f14269add7f6fb84da7ccfd866f8e9f7e81068be 29-Nov-2012 Han Ming Ong <hanming@apple.com> <rdar://problem/12780259>

Prevent async and sync calls to get profile data from stomping on each other.
At the same time, don't use '$' as end delimiter per chunk of profile data.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168948 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachTask.h
ebugserver/source/RNBRemote.cpp
5f35a4be95aed0e5b2cb36f7d785bcbfc67284ae 29-Nov-2012 Daniel Malea <daniel.malea@intel.com> Resolve printf formatting warnings on Linux:
- use macros from inttypes.h for format strings instead of OS-specific types

Patch from Matt Kopec!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168945 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
53a1c263acc355f9d6c1b96116a44f9e7c50065c 29-Nov-2012 Jason Molenda <jmolenda@apple.com> Correct the label for the com.apple.debugserver.posix plist.
<rdar://problem/12769073>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168834 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/com.apple.debugserver.posix.plist
81275611558247789e9097e09091300abb9f45ff 28-Nov-2012 Sean Callanan <scallanan@apple.com> Fixed the debugserver Xcode project to allow
DebugClang builds of LLDB to build a properly
codesigned debugserver. I did this by adding
a DebugClang configuration to debugserver that's
just a clone of the Debug configuration.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168746 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
e45c499d61f372cc93abdacf3dbfa9466c412066 27-Nov-2012 Han Ming Ong <hanming@apple.com> <rdar://problem/12759744> Provide physical memory distribution as part of profile data

Make use of unix system calls to provide physical memory usage profile data.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168720 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachVMMemory.cpp
ebugserver/source/MacOSX/MachVMMemory.h
559cf6e8b52b940f5f4362b32d628838d6301e2e 17-Nov-2012 Jason Molenda <jmolenda@apple.com> Han Ming's commit in r168228 had a bunch of 4-space tabs
in the source files. Expand to spaces. No content changes,
just whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168238 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachVMMemory.cpp
2529aa356e8cf9c1395da46f66ea2518dfa1982d 17-Nov-2012 Han Ming Ong <hanming@apple.com> Follow up on <rdar://12720514>. Removed commented out code.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168232 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
fb9cee64303d36d6fe5d87e63dd8701d1ddb70a9 17-Nov-2012 Han Ming Ong <hanming@apple.com> <rdar://problem/12720514> Sub-TLF: Provide service to profile the inferior

This allows client to query profiling states on the inferior.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168228 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/DNBDefs.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachTask.h
ebugserver/source/MacOSX/MachVMMemory.cpp
ebugserver/source/MacOSX/MachVMMemory.h
ebugserver/source/RNBContext.cpp
ebugserver/source/RNBContext.h
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
ebugserver/source/debugserver.cpp
4d43ac7deacfe9e8bafd3579b72b60b34b1205cd 08-Nov-2012 Greg Clayton <gclayton@apple.com> Added a posix_spawn based launchd plist for always using posix_spawn to launch programs.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167563 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/com.apple.debugserver.posix.plist
d77371fe8083d697edc4f9ed7d039ed7b47b88a6 07-Nov-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/12647273>

Added the ability to get the full process list when using the --applist option in debugserver.




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167502 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/RNBServices.cpp
44b879f0040a5c0dbac1798111fc2eb596621ae8 02-Nov-2012 Sean Callanan <scallanan@apple.com> Switched debugserver to use C++11/libc++.

<rdar://problem/12624679>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167303 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
3646e6812b42737c578b99a57f686ae9de279cce 01-Nov-2012 Jason Molenda <jmolenda@apple.com> Fix an error message in debugserver so it doesn't print "Unable to
launch process (null)" because we changed argv while doing argument
parsing.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167202 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/debugserver.cpp
c7d505b6d97cd5fb12022d7b500b22a5f8cc1800 01-Nov-2012 Jim Ingham <jingham@apple.com> Switch from using KERN_PROCARGS2 to get the path to the executed process to proc_pidpath. The former was flakey, and the whole point of libproc is to protect us from potential flakiness at that level...

<rdar://problem/12594781>

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167194 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
085c78bc26e3b798bfac32132d9bd6d75bb325b1 01-Nov-2012 Greg Clayton <gclayton@apple.com> Added the plists to the debugserver project and fixed the labels for the new plists.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167183 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/com.apple.debugserver.applist.internal.plist
ebugserver/source/com.apple.debugserver.internal.plist
bfeaf57ad902b89a51a743f23cf5d4d02c13d93b 01-Nov-2012 Greg Clayton <gclayton@apple.com> More launchd style plists.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167182 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/com.apple.debugserver.applist.internal.plist
ebugserver/source/com.apple.debugserver.internal.plist
a5c92b6c0af7b68ae999d9efd87a060255aa7a37 31-Oct-2012 Greg Clayton <gclayton@apple.com> Resolve any bundle paths we are given when the specified executable is a bundle.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167175 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/MacOSX/CFBundle.cpp
ebugserver/source/MacOSX/CFBundle.h
7b771d2bc07469dfad2828cfb0bbd21713304810 24-Oct-2012 Jason Molenda <jmolenda@apple.com> eArgTypePath was removed in r166533; change -c to
expect eArgTypeFilename.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166542 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
b8fda50a3e97699af76a406f03d139ee1bd94d01 16-Oct-2012 Enrico Granata <egranata@apple.com> Removing the two extra GetXSize(bool) calls since we do not desire to support them long-term

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166060 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
c2bc7944f7c2f10114426f447259a35acb0b1e18 16-Oct-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12446320> Fixing an issue with our Driver where setting an immediate output would not cause suppression of the final printout. This allows effective output redirection for Python commands

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166058 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/IOChannel.cpp
44aa393ca4cf5c5ebad4cf5e9f619584ae7bdf7f 13-Oct-2012 Greg Clayton <gclayton@apple.com> Provide an SSL context ref in case SLL is needed for communication.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165856 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBSocket.cpp
d9899e0ea327e5a57b7bb8b0f814d695e86f1082 12-Oct-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/12042500>

Fixed an issue where we would try to launch an application twice and the second failure would cover up the first.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165756 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
0bfb4b3724f417a6fbee5c2bbfd55879005e6d4c 12-Oct-2012 Greg Clayton <gclayton@apple.com> Fix build warnings.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165755 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
94a5d0de4433dce556db59758f3d6124eb0e1a2a 10-Oct-2012 Jim Ingham <jingham@apple.com> Change the Thread constructor over to take a Process& rather than a ProcessSP. We can't create Threads with a NULL ProcessSP, so it makes no sense to use the SP.
Then make the Thread a Broadcaster, and get it to broadcast when the selected frame is changed (but only from the Command Line) and when Thread::ReturnFromFrame
changes the stack.
Made the Driver use this notification to print the new thread status rather than doing it in the command.
Fixed a few places where people were setting their broadcaster class by hand rather than using the static broadcaster class call.

<rdar://problem/12383087>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165640 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
31f175eacd5b7bd82694726c22464d6e4a84d1d5 28-Sep-2012 Jason Molenda <jmolenda@apple.com> Fix the extra space char being emitted in this message when breakpoints resolve -

1 location added to breakpoint 2



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164810 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
f2ec364d52bff635e9043c932382a99f72cf7778 21-Sep-2012 Greg Clayton <gclayton@apple.com> Re-adding this previously removed file.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164331 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/scripts/diagnose-termination.d
84e46f1b5133939199e0d80c2a614fd52f7b5574 21-Sep-2012 Greg Clayton <gclayton@apple.com> This file is causing problems. I am going to remove it and try re-adding it.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164328 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/scripts/diagnose-termination.d
b0d2027e5f3779fb2b62c690fbe4c00f3866a49a 20-Sep-2012 Jason Molenda <jmolenda@apple.com> Bump to lldb-168, debugserver-193.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164291 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
e93725bec81a4433756b2acfa3adc7223bc51a9a 18-Sep-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/12219840>

Don't leak mach ports when calling "mach_thread_self()".



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164152 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBLog.cpp
851e30ec6a1b1d2c154bb7d69ed0d05b5fd14705 18-Sep-2012 Greg Clayton <gclayton@apple.com> Stop using the "%z" size_t modifier and cast all size_t values to uint64_t. Some platforms don't support this modification.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164148 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNBBreakpoint.cpp
ebugserver/source/MacOSX/MachException.cpp
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBSocket.cpp
ebugserver/source/debugserver.cpp
f99355834bee84e48e2b6205ed13d307faa74405 11-Sep-2012 Filipe Cabecinhas <me@filcab.net> Some more typing-related fixes.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@163641 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
bb1af9ce3e25eae9916f85cb9a0c82e291c20bb4 11-Sep-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/11935492>

Fixed an issue where if we call "Process::Destroy()" and the process is running, if we try to stop it and get "exited" back as the stop reason, we will still deliver the exited event.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@163591 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
1a7b4daa06a77315fe62a3d345474bf8a02cc230 11-Sep-2012 Sean Callanan <scallanan@apple.com> Fixed a bug where the LLDB_VERSION wasn't properly
truncated during install-headers.

<rdar://problem/12268130>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@163559 91177308-0d34-0410-b5e6-96231b3b80d8
nstall-headers/Makefile
002ce8a7745412add736b5b21ab2c8f53264b5fc 17-Aug-2012 Sean Callanan <scallanan@apple.com> Committed a simple dtrace script that tracks
process termination, which can be useful to track
debugserver's delivery of signals.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162104 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/scripts/diagnose-termination.d
6c061beb3f9b60380b9638a4eacb3bc46ad38fc5 16-Aug-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/12096295

Add an lldb command line option to specify a core file: --core/-c.
For consistency, change the "target create" command to also use --core.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161993 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
e66245726b779d4561dac230d5375c215d24d2c5 07-Aug-2012 Sean Callanan <scallanan@apple.com> Updating Xcode project version numbers for lldb-165 and debugserver-192


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161374 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
6f72da885177d89c281db492168298a6698bdcc7 02-Aug-2012 Sean Callanan <scallanan@apple.com> Updating Xcode project version numbers for lldb-164 and debugserver-191


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161209 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
5d90ade8e8e0d776fe8e1b9e88fc1c86d02e8e4e 28-Jul-2012 Jim Ingham <jingham@apple.com> Added an lldb_private & equivalent SB API to send an AsyncInterrupt to the event loop.
Convert from calling Halt in the lldb Driver.cpp's input reader's sigint handler to sending this AsyncInterrupt so it can be handled in the
event loop.
If you are attaching and get an async interrupt, abort the attach attempt.
Also remember to destroy the process if get interrupted while attaching.
Getting this to work also required handing the eBroadcastBitInterrupt in a few more places in Process WaitForEvent & friends.

<rdar://problem/10792425>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160903 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/IOChannel.cpp
a0b14502f717b342112c0264aa99901b754b24c6 26-Jul-2012 Sean Callanan <scallanan@apple.com> Updating Xcode project version numbers for lldb-163 and debugserver-190


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160770 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
73f6b49b568f48755bb5058a3db679c3b9093682 25-Jul-2012 Jim Ingham <jingham@apple.com> Add a call to "sync" a thread state before checkpointing registers in preparation for
calling functions. This is necessary on Mac OS X, since bad things can happen if you set
the registers of a thread that's sitting in a kernel trap.

<rdar://problem/11145013>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160756 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
56b9f80df238c8be09d2b7441e9e71f7828bbd3a 24-Jul-2012 Jim Ingham <jingham@apple.com> Use a more efficient API to tell if a process belongs to springboard or not.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160655 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/RNBServices.cpp
3a458eb1e413d39546b664813bba9f9ac292357e 20-Jul-2012 Jim Ingham <jingham@apple.com> Add "vAttachOrWait" to debugserver, so you can implement "attach to the process if it exists OR wait for it" without race conditions. Use that in lldb.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160578 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
ebugserver/source/debugserver.cpp
ef898c512a5e26f2d1dd91789214662f76623970 19-Jul-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/11908082>

Allow debugserver to match process names that are longer than MAXCOMLEN (16) characters. We do this by digging up argv[0] from another sysctl if the process name supplied is longer than 16 characters.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160487 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
24757128b30c5e47dc402f2b5c5ac1308142285a 17-Jul-2012 Greg Clayton <gclayton@apple.com> Update the project and schemes to the Xcode recommended settings.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160391 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/xcshareddata/xcschemes/debugserver.xcscheme
4a379b1194f3e6b308cd6e80b45d6ca5dd0aafd7 17-Jul-2012 Greg Clayton <gclayton@apple.com> Ran the static analyzer on the codebase and found a few things.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160338 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-debug/darwin-debug.cpp
ebugserver/source/DNB.cpp
ebugserver/source/MacOSX/MachException.cpp
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/RNBRemote.cpp
ebugserver/source/debugserver.cpp
river/Driver.cpp
add4b95f40791afddb360ddd4e431c96432ac6f6 16-Jul-2012 Jim Ingham <jingham@apple.com> Fix an off by one error when handling a packet where our read buffer size truncates the first chunk of the packet
between the two chars representing the checksum.

<rdar://problem/11882074>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160310 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
e9d2ca1488fea27f845a7c91c6103d34a3252bd3 14-Jul-2012 Jason Molenda <jmolenda@apple.com> Bump to lldb-162 / debugserver-189.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160212 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
7de2a3b03f37987c67f142ce328cc2484c831468 14-Jul-2012 Enrico Granata <egranata@apple.com> <rdar://problem/11782789> Changes to the watchpoint implementation on ARM so that we single-step before stopping at the WP. This is necessary because on ARM the WP triggers before the opcode is actually executed, so we would be unable to continue since we would keep hitting the WP. We work around this by disabling the WP, single stepping and then putting the WP back in place.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160199 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
352f3cdac619c967624ff678c67758b1c947dcfd 13-Jul-2012 Jim Ingham <jingham@apple.com> Unify how we get host version on Mac OS X & iOS.
Also remove our dependency on UIKit & AppKit.
Cleaned up the project files a bit.

<rdar://problem/11814498>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160147 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
2a4e9af22db482a276a109af57b23a95d0f38ddf 12-Jul-2012 Sean Callanan <scallanan@apple.com> Added an editline fix to make the delete key act
as expected on Mac OS X.

<rdar://problem/11813365>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160091 91177308-0d34-0410-b5e6-96231b3b80d8
river/IOChannel.cpp
1f6d04bda379077255ea246a83955753889f42ab 06-Jul-2012 Jason Molenda <jmolenda@apple.com> Bump versions to lldb-161, debugserver-188.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@159798 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
2530d95bc55d78f8e5f08fa0371e91b6f88ccdd5 29-Jun-2012 Greg Clayton <gclayton@apple.com> Spelling fixes.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@159466 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/ChangeLog
ebugserver/source/RNBRemote.cpp
2f676aa67e4f78521720289a42b33afc45e6aad2 28-Jun-2012 Enrico Granata <egranata@apple.com> <rdar://problem/11679380> Make sure we do not fallback to software stepping when hardware stepping should work but fails to get enabled. Also removing dead code paths

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@159322 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
403648d706a1aff2c3fb150810f8824f3712e6fe 22-Jun-2012 Filipe Cabecinhas <me@filcab.net> DNBLogThreadedIf already inserts a newline

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@158995 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
d1e0829de2ab90cb34d13b2776d3be3977355e5a 19-Jun-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/11649610
lldb confused by single quote in executable path

Also add a test case.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@158693 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
33a9f647ab5122bfdc7c8cf358fba07b2cf7dedf 11-Jun-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/11390100

debugserver needs to be able to posix_spawn debugging apps that have ".app" in their path that aren't bundles


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@158327 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
4d35f889ec869f86e950059470e90c99857ce477 02-Jun-2012 Johnny Chen <johnny.chen@apple.com> Properly initialize the member fields used for hardware watchpoint transaction management.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157878 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
5693e875ac7ac8d6ce1614da40e0b56f3f58716c 02-Jun-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/11320188

Designate MachThreadList as a transaction coordinator when doing Enable/DisableHardwareWatchpoint on the list of threads.
In case the operation (iterating on the threads and doing enable/disable) fails in the middle, we rollback the already
enabled/disabled threads to their checkpointed states. When all the threads succeed in enable/disable, we ask each thread
to finsih the transaction and commit the change of the debug state.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157858 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBArch.h
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/MachThread.h
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
0d99969ff26d108ec04f8830913e41e7f151db56 01-Jun-2012 Jim Ingham <jingham@apple.com> If the Driver's input reader gets an Interrupt and the current command line is empty, then treat that interrupt as an instruction to Stop the process of the currently selected target.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157790 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
bab9b647fad841cf7c301f0bd8b1da3c0e72bfa2 01-Jun-2012 Jim Ingham <jingham@apple.com> Add an API to determine whether there are any characters on the current input line.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157789 91177308-0d34-0410-b5e6-96231b3b80d8
river/IOChannel.cpp
river/IOChannel.h
b51d99b70abdd53562f2cae84f627087721f2f55 01-Jun-2012 Johnny Chen <johnny.chen@apple.com> For hardware watchpoint enable/disable, in case the kernel call to set the revised debug state fails, we need to recover the local cache to the previous known state.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157778 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
1e1a6ca3ddeb932fbc48c86d4fa4ba974363ea85 30-May-2012 Filipe Cabecinhas <me@filcab.net> Make dbgnub-config.pl work with multiline env vars.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157664 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/scripts/dbgnub-config.pl
9ea7d8750030914f13dcdfe167542b8047de51a4 29-May-2012 Filipe Cabecinhas <me@filcab.net> Substitute LLVMLibsOptions for LD.Flags so we can find the mentioned libs

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157616 91177308-0d34-0410-b5e6-96231b3b80d8
river/Makefile
ldb-platform/Makefile
7cbdcfb0cefcfd877b507ff2d83e51a1bde3fcc7 23-May-2012 Johnny Chen <johnny.chen@apple.com> Add the capability to display the number of supported hardware watchpoints to the "watchpoint list" command.

Add default Process::GetWatchpointSupportInfo() impl which returns an error of "not supported".
Add "qWatchpointSupportInfo" packet to the gdb communication layer to support this, and modify TestWatchpointCommands.py to test it.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157345 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/MachThread.h
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/MacOSX/MachThreadList.h
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
5d44dcc0f5558db037d13ebf4e772c9a8fb673cf 17-May-2012 Johnny Chen <johnny.chen@apple.com> Fix a typo.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156952 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
ad4be9ab3ed547571964955df5da3a8b639f3bd1 16-May-2012 Jason Molenda <jmolenda@apple.com> Bump debugserver version # to 187.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156888 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
70eddebd1c5868a87a3ba9ddf717fc964a257f66 16-May-2012 Jason Molenda <jmolenda@apple.com> Change lockdown API use in RNBSocket::ConnectToService.
<rdar://problem/10800927>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156883 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBSocket.cpp
5a4e5afa5acc36a0b8ff90fe4c704cd4c1e49d1b 11-May-2012 Greg Clayton <gclayton@apple.com> Don't intercept the quit command and override what is was doing. This was causing the "lldb" command line to deadlock when the quit command was executed sometimes.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156595 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
492b1232eb525aa9ef74159321f4da9a449a818a 10-May-2012 Johnny Chen <johnny.chen@apple.com> Sanity check the return value from SBSCopyApplicationDisplayIdentifiers() before calling CFArrayGetCount() on it.

rdar://problem/11331867


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156562 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBServices.cpp
8ab2c22f22bd5ff09c98441f148406e0a890084e 09-May-2012 Johnny Chen <johnny.chen@apple.com> Make ctrl-c terminate the current input line and start an empty line, instead of the previous content.

rdar://problem/11412821


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156510 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/IOChannel.cpp
river/IOChannel.h
f92ddcc2fda5ca564acc37d2fecd4b577dfc2bde 09-May-2012 Jim Ingham <jingham@apple.com> Print out a notification when the process of a target other than the currently selected target stops.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156433 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
b170aee2daacc83e3d71c3e3acc9d56c89893a7b 08-May-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/11358639>

Switch over to the "*-apple-macosx" for desktop and "*-apple-ios" for iOS triples.

Also make the selection process for auto selecting platforms based off of an arch much better.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156354 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
3bbbdc3c3ca4d449e9033a6e8c1686b8b6ed0769 07-May-2012 Johnny Chen <johnny.chen@apple.com> Move the el_source() call after the section of code which sets up the default "ctrl-r" and "ctrl-w" bindings
so that user-provided .editrc has a chance to override the lldb's default key bindings.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156314 91177308-0d34-0410-b5e6-96231b3b80d8
river/IOChannel.cpp
abd370a4be26a5fc288ca090e80b12c1bc14ac8b 05-May-2012 Johnny Chen <johnny.chen@apple.com> Jason Molenda convinced me that we should make ctrl-w on the command line bind to ed-delete-prev-word.
If you have ctrl-w key binding specified with your .editrc file, it will be overridden with ed-delete-prev-word. :-)


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156230 91177308-0d34-0410-b5e6-96231b3b80d8
river/IOChannel.cpp
88e3de205708f14431559072ca258899b5ac31cc 03-May-2012 Jim Ingham <jingham@apple.com> Clean up the usage of "MasterPlan" status in ThreadPlans. Only user-initiated plans
should be MasterPlans that want to stay on the plan stack. So make all plans NOT
MasterPlans by default and then have the SB API's and the CommandObjectThread step
commands set this explicitly.

Also added a "clean up" phase to the Thread::ShouldStop so that if plans get stranded
on the stack, we can remove them. This is done by adding an IsPlanStale method to the
thread plans, and if the plan can know that it is no longer relevant, it returns true,
and the plan and its sub-plans will get discarded.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156101 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
c76486cc024511ab8e96baea752e98f49c2b1da4 26-Apr-2012 Jim Ingham <jingham@apple.com> Don't call SBDebugger::SetInternalVariable in the sigwinch_handler, since that takes locks and potentially does allocations.
Just call SBDebugger::SetTerminalWidth on the driver's SBDebugger, which does the same job, but no locks.
Also add the value checking to SetTerminalWidth you get with SetInternalVariable(..., "term-width", ...).

rdar://problem/11310563


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155665 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
664b099488f9c10c6c44607bc574dc5e2b8b95ec 26-Apr-2012 Greg Clayton <gclayton@apple.com> Patch from Filipe Cabecinhas.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155641 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
b7a22b2bea7904809acdc101b0dfa2100265e22a 26-Apr-2012 Greg Clayton <gclayton@apple.com> Patch from Filipe Cabecinhas.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155640 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBRegisterInfo.cpp
dff3f44e3970930a30ea50025436cb7272366911 25-Apr-2012 Jim Ingham <jingham@apple.com> Suspend program threads before sending the SIGSTOP & resuming, so other threads won't get into trouble while we are waiting for the SIGSTOP.

rdar://problem/11174834

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155560 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
a1f645e66c8e52ef287b9ab42f521eb57bcf217d 10-Apr-2012 Greg Clayton <gclayton@apple.com> Added a new packet to our GDB remote protocol:

QListThreadsInStopReply

This GDB remote query command can enable added a "threads" key/value pair to all stop reply packets so that we always get a list of all threads in each stop reply packet. It increases performance if enabled (the reply to the "QListThreadsInStopReply" is "OK") by saving us from sending to command/reply pairs (the "qfThreadInfo" and "qsThreadInfo" packets), and also helps us keep the current process state up to date.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154380 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
cfd89c466768262d23cba83898c5e4e9eca6593f 04-Apr-2012 Greg Clayton <gclayton@apple.com> Fixed the C++11 #defines that wrap std::weak_ptr to actually use std::weak_ptr.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154041 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBDefs.h
51f1d21e5580c562d761e0cd8509a38d729d0845 01-Apr-2012 Sean Callanan <scallanan@apple.com> Updating Xcode project version numbers for lldb-137 and debugserver-186


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153823 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
48f9c71f83dc945ee7e92cf5d980b42c06ef849d 29-Mar-2012 Greg Clayton <gclayton@apple.com> Missed a file in the last FreeBSD patch.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153662 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-platform/Makefile
27cf23214479177c83f115b4dbac92b2dba2b3b2 29-Mar-2012 Greg Clayton <gclayton@apple.com> FreeBSD patch that enabled the lldb-platform to be built from Viktor Kutuzov.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153661 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
ldb-platform/lldb-platform.cpp
1ea7838507f8ffbac9b20e22c4ab8b7f2424b09b 29-Mar-2012 Sean Callanan <scallanan@apple.com> Updating Xcode project version numbers for lldb-136 and debugserver-185


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153630 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
b6cad8c39dc9dd440f0c215cf700ac2e0ea45a74 24-Mar-2012 Jason Molenda <jmolenda@apple.com> Bump version to debugserver-184, lldb-135.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153374 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
a3f381919d3c86265b7707911cafa483da37780c 24-Mar-2012 Jason Molenda <jmolenda@apple.com> Small tweak to list of arches to build debugserver for on arm.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153371 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
0d4453c7eb2ac859969383799ecbd895e736e039 23-Mar-2012 Johnny Chen <johnny.chen@apple.com> Fix a typo.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153301 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
9a725f0e1d0589254d5e96fa3516d56a30799950 23-Mar-2012 Johnny Chen <johnny.chen@apple.com> Make arm debugserver handle setting a watchpoint on, for example, (uint64_t)variable.
We do this by delegating to two available Watchpoint Register Pairs (wvr, wcr). With
each pair handling the 4 bytes of (uint64_t)variable.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153300 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
b4a8ac1aaacbee4fd9a49952524e510dba2f9635 23-Mar-2012 Greg Clayton <gclayton@apple.com> Bumped Xcode project versions for lldb-134 and debugserver-183.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153298 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
cf88842d06049af7dffa1b299964a3a573283cc4 22-Mar-2012 Johnny Chen <johnny.chen@apple.com> Previous check-ins allow to hit the arm hardware watchpoint, with a workaound to handle the issue
that the inferior cannot execute past the watchpoint-triggering instruction.

The solution is disable the watchpoint before resuming the inferior and make it hardware single step;
when the inferior stops again due to single step, re-enable the watchpoint and disable the single step
to make the inferior able to continue again without obstacle.

rdar://problem/9667960


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153273 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
7d0356fdfa7ee04b39e84946fb0497f227cc894f 22-Mar-2012 Johnny Chen <johnny.chen@apple.com> Fixed a bug with the r153228 check-in earlier today in that the cached watchpoint
member variables were not reset appropriately.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153239 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
33de0386250de1ded3dc2fdfb607970e52d83420 22-Mar-2012 Johnny Chen <johnny.chen@apple.com> WIP snapshot of hardware watchpoints for arm. A simple watchpoint has triggered.
However, the debugserver cannot get past the instruction which triggered the watchpoint.
So a workaround is in place for the time being which disables the triggered watchpoint
before resuming.

Lots of commented out printf's remain in the source which needs to be cleaned up.

WIP rdar://problem/9667960


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153228 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
72a06db41c0f1a98d109565535bb70c6c215f454 17-Mar-2012 Jason Molenda <jmolenda@apple.com> Bump to lldb-133.

Remove unused entitlements plist from debugserver.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152973 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/resources/lldb-debugserver-entitlements.plist
13555cccfcb4896a3d07cfcb2f7007816d03c05e 16-Mar-2012 Johnny Chen <johnny.chen@apple.com> Fix FRAMEWORK_SEARCH_PATHS for iOS builds.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152948 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
63e9d4fc63c1be6f8962b427dd6f87f193ba778f 16-Mar-2012 Sean Callanan <scallanan@apple.com> Updating Xcode project version numbers for lldb-132 and debugserver-182


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152901 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
f29cd7fc05a3ff1d55dc9e1431ac9e18456b11af 14-Mar-2012 Sean Callanan <scallanan@apple.com> Updating Xcode project version numbers for lldb-131 and debugserver-181


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152726 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
598df88bd6fc33c6fb330bc859bdc277795501f3 14-Mar-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/10434005>

Prepare LLDB to be built with C++11 by hiding all accesses to std::tr1 behind
macros that allows us to easily compile for either C++.




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152698 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/DNB.cpp
ebugserver/source/DNBDefs.h
ebugserver/source/MacOSX/MachThread.h
ebugserver/source/RNBDefs.h
599c084406b97ebc0b9287f70df873199947a90f 14-Mar-2012 Jason Molenda <jmolenda@apple.com> bump to debugserver-180

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152687 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
abd9d7af3b8fe413aa57eb0be4362f2fff2cb0f1 14-Mar-2012 Jason Molenda <jmolenda@apple.com> On iOS builds, install debugserver in /Developer/usr/bin.
Also add a copy files phase for -target ios that installs
the debugserver launch plists.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152680 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
1ffff0f8f7b66d457694e1111578e6f0c0a50614 13-Mar-2012 Jason Molenda <jmolenda@apple.com> Send an "OK" response to the "D" (detach) packet.

v. http://sourceware.org/gdb/current/onlinedocs/gdb/Packets.html#Packets

the detach packet is supposed to send a reply.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152671 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
b22013e40a452de6575eabcfad28e61b12b98f1a 13-Mar-2012 Greg Clayton <gclayton@apple.com> Bumped Xcode project versions for lldb-129 and debugserver-179.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152606 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
f46c5ef58b9bf85530fcafc5478adf288e28d4ad 13-Mar-2012 Jason Molenda <jmolenda@apple.com> version bump to 178

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152602 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
3a245a5a7dd5db07433e36f7a9b487b6d5dc54d9 13-Mar-2012 Jason Molenda <jmolenda@apple.com> Don't SKIP_INSTALL for sdk==iOS, install in to /usr/local/bin for now.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152601 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
bc41ff71ae6760ce476ce04def039d88c28b4562 13-Mar-2012 Jason Molenda <jmolenda@apple.com> Pull in another plist from the old debugserver project.
Switch default compiler to clang.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152600 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/com.apple.debugserver-secure.plist
053a922033a915af17844296c95c3e77db9ed68b 12-Mar-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/11030692>

SBProcess::PutSTDIN() was not working for a few builds on darwin when using debugserver. This is now fixed.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152569 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
dd21d3cf2bcb93df70e4e77e053cebec63babc4f 10-Mar-2012 Jason Molenda <jmolenda@apple.com> Bump debugserver version to 177.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152464 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
daf37d2261b10731fcdffd939de5055bb120fabf 10-Mar-2012 Jason Molenda <jmolenda@apple.com> Re-enable the use of the ARMDisassembler framework when building debugserver for ios.
Greg disabled this back in 2012-01-10 r147886 but we still need to use it.

<rdar://problem/11016745>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152463 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
55f768792c75eb5f9474edb09ca416c8737eeac0 09-Mar-2012 Jim Ingham <jingham@apple.com> Make debugserver quieter about memory read errors.
<rdar://problem/10681220>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152438 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachVMMemory.cpp
cda01b0f632a4e4238e15f949e7d53c1e7526972 09-Mar-2012 Greg Clayton <gclayton@apple.com> Bumping Xcode project versions for lldb-126 and debugserver-176.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152383 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
c227cd962515a765638a901c14d5cea4ca1b2e9d 08-Mar-2012 Greg Clayton <gclayton@apple.com> Bumping Xcode project version for lldb-124 and debugserver-175.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152294 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ad7bd23aab27a769aea2266e66ad36bfc0d6e86d 08-Mar-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/11007934>

On darwin, if child process of process being debugged dies due to mach exception, the debugged process will die.

debugserver now only handles the mach exceptions for the task being debugged.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152291 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachException.cpp
ebugserver/source/MacOSX/MachException.h
ebugserver/source/MacOSX/MachTask.cpp
295c7cc723ec3e5f2a8b2e298f57ccb6ec251ee9 07-Mar-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/10993996>

Added a new makefile target to help us with Apple builds where the installhdrs
will copy the headers for the shared library. Prior to this fix, the install
headers directory would contain the unix style paths to all public header
files ("#include lldb/API/SBDefines.h") instead of the fixed up framework
header paths ("#include <LLDB/SBDefines.h>").



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152253 91177308-0d34-0410-b5e6-96231b3b80d8
nstall-headers/Makefile
f875f8591840709e0ea74e7a280a4e88d0e30522 06-Mar-2012 Greg Clayton <gclayton@apple.com> Bumping Xcode project versions for lldb-123 and debugserver-174.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152103 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
95ec1688db0efe51509ad9356052f5004d8856e0 06-Mar-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/10840355>

Fixed STDERR to not be opened as readable. Also cleaned up some of the code that implemented the file actions as some of the code was using the wrong variables, they now use the right ones (in for stdin, out for stdout, err for stderr).



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152102 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
0336c61d34dc05a9cbc97e9641703a61a593dd2e 06-Mar-2012 Greg Clayton <gclayton@apple.com> Bumped project Xcode project version for lldb-122 and debugserver-173.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152088 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
4722b10307668368bf0f12fa6b8691e4f4cb5488 06-Mar-2012 Jim Ingham <jingham@apple.com> Add a command and an SB API to create exception breakpoints. Make the break output prettier for Exception breakpoints.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152081 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
4402f7032005918e5f879234a078a7a265495a6b 06-Mar-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/10986692>

Safeguard against building on next OS and run on current OS.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152077 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachException.cpp
ebugserver/source/MacOSX/MachException.h
ebugserver/source/MacOSX/MachTask.cpp
a912203718ba867759b221971346366293ef67bd 02-Mar-2012 Greg Clayton <gclayton@apple.com> Bumped Xcode project versions for lldb-121 and debugserver-172


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151948 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
b34b0ebd9f337789ceeea227f33358dd8a8dadca 02-Mar-2012 Greg Clayton <gclayton@apple.com> Bumping Xcode project versions for lldb-120 and debugserver-171.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151924 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
32fb5f7a50857cdccf5713226eb7eb28ff264e9f 01-Mar-2012 Greg Clayton <gclayton@apple.com> Bumped Xcode project version for lldb-119 and debugserver-170.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151836 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
e70aaadd30abdda885fa77874f794e3f630e6a4c 01-Mar-2012 Greg Clayton <gclayton@apple.com> Hardcode the identifier and the execution name in debugserver since we put this into a section and not Xcode variable expansion happens.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151835 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/resources/lldb-debugserver-Info.plist
fe724f7ce58be1418f7958081bd06bd9cf254f44 01-Mar-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/10963899>

Allow debugserver to be built on a newer kernel and still allow debugging on
older kernels.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151827 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachException.cpp
93980e78c3f7104faa9df67195a18e3947d58d4e 29-Feb-2012 Greg Clayton <gclayton@apple.com> Fixed the install path for the XPC binaries. Added 3 aggregate targets:
"desktop" - build all binaries with XPC
"desktop_no_xcp" - build all binaries with none of the XPC binaries
"ios" - build all binaries with special iOS install settings.

Bumped the Xcode project build version for lldb-118 and debugserver-169.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151740 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
f125250ba7bcaa2ea5ee95539a309e3fd2f8b5d7 29-Feb-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/10605072>

Added the ability to override command line commands. In some cases GUI interfaces
might want to intercept commands like "quit" or "process launch" (which might cause
the process to re-run). They can now do so by overriding/intercepting commands
by using functions added to SBCommandInterpreter using a callback function. If the
callback function returns true, the command is assumed to be handled. If false
is returned the command should be evaluated normally.

Adopted this up in the Driver.cpp for intercepting the "quit" command.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151708 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
fbb582e268427825c47ff5e91b86683fb58d61f0 28-Feb-2012 Jason Molenda <jmolenda@apple.com> Add one more define for sdk==iphoneos.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151606 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
f548fc6ddc713cba6469dd4e9a2ecb352a1f347e 25-Feb-2012 Greg Clayton <gclayton@apple.com> Bumped Xcode project version to lldb-117 and debugserver-168.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151422 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
8bcb0bd5db56fd8136848b5669699de1d192ddf8 24-Feb-2012 Johnny Chen <johnny.chen@apple.com> Newly created threads are to inherit from the global debug state of the process.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151393 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
e350394e5b4bd5c32f70951a035a889bfd0194e4 24-Feb-2012 Johnny Chen <johnny.chen@apple.com> Add a class method HasWatchpointOccurred() to inspect the "method of debug entry" field
of the DSCR to check whether it was because of watchpoint occurred.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151333 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
edfdbe076635bd2cae1bce288ff41f4d3e36fc41 24-Feb-2012 Johnny Chen <johnny.chen@apple.com> Add comments about address word offset and the calculation of byte address select mask for WCR.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151305 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
63fd41c08cb327ce943dd3c7b1ab920f4f8426c4 22-Feb-2012 Benjamin Kramer <benny.kra@googlemail.com> Remove unused python includes from headers.

Python.h is a bad c++ citizen and overwrites some functions with its own
macros. This conflicts with libc++'s locale header. I did some refactoring
to use Python.h only where it's actually needed a few months ago so
the unnecessary includes can be removed now.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151168 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-debug/darwin-debug.cpp
9a5bbd2a14cacac731424f7a253f6cc16b22c10a 22-Feb-2012 Jason Molenda <jmolenda@apple.com> Change #ifdef markers around lockdown and SpringBoard
calls to dpeend on WITH_SPRINGBOARD and WITH_LOCKDOWN
instead of __arm__. Add an RNBSocket::useFD method.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151119 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/DNBDefs.h
ebugserver/source/DNBError.cpp
ebugserver/source/DNBError.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/RNBDefs.h
ebugserver/source/RNBServices.cpp
ebugserver/source/RNBSocket.cpp
ebugserver/source/RNBSocket.h
ebugserver/source/debugserver.cpp
137e5230e8dfb1287dd7c5eaa943a39078e1fd8d 21-Feb-2012 Benjamin Kramer <benny.kra@googlemail.com> Remove a ton of implicit narrowing conversions for C++11 compatibility.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151071 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
6c530f2201be4788dedf3d5970399220fbd50b11 21-Feb-2012 Jim Ingham <jingham@apple.com> Add a logging mode that takes a callback and flush'es to that callback.
Also add SB API's to set this callback, and to enable the log channels.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151018 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-platform/lldb-platform.cpp
5de331732062885a853500495795a94360019e33 21-Feb-2012 Charles Davis <cdavis@mines.edu> Pull side effects out of asserts. Fixes debugserver with NDEBUG defined.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151013 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
289afcb5e26c2527a0d2e71f84e780b86bbcf90a 18-Feb-2012 Greg Clayton <gclayton@apple.com> The second part in thread hardening the internals of LLDB where we make
the lldb_private::StackFrame objects hold onto a weak pointer to the thread
object. The lldb_private::StackFrame objects the the most volatile objects
we have as when we are doing single stepping, frames can often get lost or
thrown away, only to be re-created as another object that still refers to the
same frame. We have another bug tracking that. But we need to be able to
have frames no longer be able to get the thread when they are not part of
a thread anymore, and this is the first step (this fix makes that possible
but doesn't implement it yet).

Also changed lldb_private::ExecutionContextScope to return shared pointers to
all objects in the execution context to further thread harden the internals.




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150871 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/xcshareddata/xcschemes/debugserver.xcscheme
75a7c755bd203e13a8f0186512f28b3e1be470b2 17-Feb-2012 Greg Clayton <gclayton@apple.com> Fixed an error with the 'G' packet on ARM when using the default GDB
register set where it could get an error when trying to restore the
fake "f0" - "f7" 12 byte float regs.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150781 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
5a15e6927b5b3234fb3e688717297ba6b5dd6ad7 16-Feb-2012 Jim Ingham <jingham@apple.com> Add a general mechanism to wait on the debugger for Broadcasters of a given class/event bit set.
Use this to allow the lldb Driver to emit notifications for breakpoint modifications.
<rdar://problem/10619974>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150665 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
28e23861bedbeb5e46be7d2af4c33bf5132422c6 08-Feb-2012 Jim Ingham <jingham@apple.com> Send Breakpoint Changed events for all the relevant changes to breakpoints.
Also, provide and use accessors for the thread options on breakpoints so we
can control sending the appropriate events.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150057 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
7cd8cd51421be28c7c615e141e87cf53bf2e21a0 02-Feb-2012 Greg Clayton <gclayton@apple.com> Fixed terminal settings not being properly restored when "quit" was run.
This affected bash users.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149623 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
a749ca2ceb7854ab7a14f3a31956a8617fef7d8c 02-Feb-2012 Greg Clayton <gclayton@apple.com> Kill our child process that we launch when we can't get the task_for_pid()
otherwise we will have a launched process stopped at the entry point and
it will get reparented when debugserver goes away and we won't be able to
kill the process later.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149622 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
db9d6f47ab38e25c3efcbfa05780bf9a127fd259 31-Jan-2012 Greg Clayton <gclayton@apple.com> Cleaned up the Communication class when it tears down ConnectionFileDescriptor
instances to not pthread_cancel the read threads and wreak havoc on the mutex
in our ConnectionFileDescriptor class.

Also cleaned up some shutdown delays.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149355 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
894aaba391b45a78f5d0d316b442f765af40d903 28-Jan-2012 Jason Molenda <jmolenda@apple.com> Fix shell commands that do code signing.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149171 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
c962cd96b32c03f22581e678e6d92534e3179285 28-Jan-2012 Greg Clayton <gclayton@apple.com> Bumping Xcode project versions for lldb-109 and debugserver-167.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149168 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
98b98956208027a052f800a73214b38dcaf857e1 28-Jan-2012 Greg Clayton <gclayton@apple.com> Xcode codesigning is broken. Work around this by doing code signing in a shell script build phase.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149165 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
9a8e584d0aebf0a6597ede9cc6254743dd7e2f6c 21-Jan-2012 Greg Clayton <gclayton@apple.com> Bumped Xcode project versions for lldb-108 and debugserver-166.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148613 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
70bc536768672dee014fa91fd4df9b8f88e47d05 14-Jan-2012 Greg Clayton <gclayton@apple.com> Bumped xcode project versions for lldb-106 and debugserver-165


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148202 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
f771915c66abf0e310749d29dec52e6accf04f4a 13-Jan-2012 Greg Clayton <gclayton@apple.com> Bumped Xcode project version for lldb-105 and debugserver-164.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148098 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ef8fef697fe5ce0669a191aa56f1fab302d5824c 12-Jan-2012 Greg Clayton <gclayton@apple.com> Bumped Xcode project versions for lldb-104 and debugserver-163.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148018 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
305f38588817f823f05100e8236745e8e4d70320 11-Jan-2012 Johnny Chen <johnny.chen@apple.com> Snapshot of initial work for ARM watchpoint support on the debugserver.
It is incomplete and untested; passes the compilation only.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147901 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
6c7559ae5255ad791a197dc08e1d0ce9130a3988 10-Jan-2012 Greg Clayton <gclayton@apple.com> Disable ARMDisassembler.framework support which was used for software single stepping.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147886 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
ca28cc392d40ea539408daf46a2b605f71f4183e 10-Jan-2012 Jim Ingham <jingham@apple.com> Check the return value of GetBasicInfo before dereferencing it. <rdar://problem/10568492>

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147883 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThread.cpp
48f1bfecc56335df2f566efd6331fc2746882b38 10-Jan-2012 Sean Callanan <scallanan@apple.com> Updating Xcode project version numbers for lldb-103 and debugserver-162


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147865 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
97f3a27fa09575a3b035a796349dd49a179a67f4 09-Jan-2012 Sean Callanan <scallanan@apple.com> Updating Xcode project version numbers for lldb-102 and debugserver-161


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147794 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
cc152b20d7b07aa4c229977b7b0d8d94cbda2ff5 06-Jan-2012 Johnny Chen <johnny.chen@apple.com> http://llvm.org/bugs/show_bug.cgi?id=11715
comma at end of enumerator list


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147633 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.h
7e9964783acae183c23a7ea470cedd64472eb233 05-Jan-2012 Johnny Chen <johnny.chen@apple.com> This patch combines common code from Linux and FreeBSD into
a new POSIX platform. It also contains fixes for 64bit FreeBSD.

The patch is based on changes by Mark Peek <mp@FreeBSD.org> and
"K. Macy" <kmacy@freebsd.org> in their github repo located at
https://github.com/fbsd/lldb.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147609 91177308-0d34-0410-b5e6-96231b3b80d8
river/Makefile
429c6d80239734b81945720c0cd1cba99e2ca19a 05-Jan-2012 Greg Clayton <gclayton@apple.com> Bumped Xcode project versions for lldb-101 and debugserver-160.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147597 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
f09ca66d9fe715a16677b78d1f24676bf4010b79 22-Dec-2011 Sean Callanan <scallanan@apple.com> Updating Xcode project version numbers for lldb-100 and debugserver-159


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147193 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
993d33e6bdc7e73c94e8b9f9bce5542297696f99 21-Dec-2011 Sean Callanan <scallanan@apple.com> Updating Xcode project version numbers for lldb-99 and debugserver-158


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147061 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
693f4001ad3b28afdd9abfe7c66f8eb5c3c85e35 20-Dec-2011 Sean Callanan <scallanan@apple.com> Updating Xcode project version numbers for lldb-97 and debugserver-157


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@146978 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
6aeedd3922754aa259190a26f58e7f71b0027d1b 17-Dec-2011 Sean Callanan <scallanan@apple.com> Updating Xcode project version numbers for LLDB-96
and debugserver-156.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@146808 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
cb0f245af568eaa40d22147438a15455eb7af7c8 15-Dec-2011 Greg Clayton <gclayton@apple.com> Bumped Xcode project version to lldb-95 and debugserver-155.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@146643 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
1308a9555ad586ff03c8f97bcfe7f3212d06bc86 12-Dec-2011 Greg Clayton <gclayton@apple.com> Always return a valid answer for qMemoryRegionInfo if the packet is supported.
We will return a valid range when possible and omit the "permissions" key
when the memory is not readable, writeable or executeable. This will help us
know the difference between an error back from this packet and unsupported,
from just "this address isn't in a valid region".



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@146394 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/MacOSX/MachVMMemory.cpp
ebugserver/source/MacOSX/MachVMMemory.h
ebugserver/source/MacOSX/MachVMRegion.cpp
ebugserver/source/MacOSX/MachVMRegion.h
ebugserver/source/RNBRemote.cpp
d906b1b24a6c838d78039b399ee43dc57598ab52 09-Dec-2011 Jim Ingham <jingham@apple.com> Don't spam warnings about not being able to read memory at 0x0.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@146271 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachVMMemory.cpp
a9091cc0d3686dd93718a320057153c4aabf091a 08-Dec-2011 Jason Molenda <jmolenda@apple.com> Move CPUHasAVX() prototype out of an #ifdef block of code.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@146198 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
f4933ed8d0fa218b5db476ecd881ec67495037f3 08-Dec-2011 Greg Clayton <gclayton@apple.com> <rdar://problem/10544202>

Fixed detection of AVX on darwin now that our kernel supports it.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@146135 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
1f5c0c368c1dfeb67b3b9fca8ef869206554e25a 08-Dec-2011 Jason Molenda <jmolenda@apple.com> Expose the DNBArchMachARM::DBG typedef, specify the type with the
class scoping in DumpDBGState()'s definiton.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@146128 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
46b27f25b970cb7a26495402b44c4a5ed981e4b8 06-Dec-2011 Johnny Chen <johnny.chen@apple.com> Add a typedef for arm_debug_state_t as DBG. Plus some minor comment changes.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@145978 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
d9919d3f46c5069eef065a27f96abc021330d5f3 02-Dec-2011 Greg Clayton <gclayton@apple.com> Process IDs (lldb::pid_t) and thread IDs (lldb::tid_t) are now 64 bit. This
will allow us to represent a process/thread ID using a pointer for the OS
plug-ins where they might want to represent the process or thread ID using
the address of the process or thread structure.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@145644 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
dc303c2455596f9fd3dd389f650bd904cf410ca3 30-Nov-2011 Greg Clayton <gclayton@apple.com> Bumped Xcode project versions for lldb-90 and debugserver-154



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@145528 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
a9385537809ef342c843c5ab972e513742652047 18-Nov-2011 Greg Clayton <gclayton@apple.com> Added optional calls to lldb_private::Process for getting memory region info
from a process and hooked it up to the new packet that was recently added
to our GDB remote executable named debugserver. Now Process has the following
new calls:

virtual Error
Process::GetMemoryRegionInfo (lldb::addr_t load_addr, MemoryRegionInfo &range_info);

virtual uint32_t
GetLoadAddressPermissions (lldb::addr_t load_addr);

Only the first one needs to be implemented by subclasses that can add this
support.

Cleaned up the way the new packet was implemented in debugserver to be more
useful as an API inside debugserver. Also found an error where finding a region
for an address actually will pick up the next region that follows the address
in the query so we also need ot make sure that the address we requested the
region for falls into the region that gets returned.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144976 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/DNBDefs.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachTask.h
ebugserver/source/MacOSX/MachVMMemory.cpp
ebugserver/source/MacOSX/MachVMMemory.h
ebugserver/source/MacOSX/MachVMRegion.cpp
ebugserver/source/MacOSX/MachVMRegion.h
ebugserver/source/RNBRemote.cpp
1628317b7037670aacb3aa3a31c0ad67f833d229 17-Nov-2011 Greg Clayton <gclayton@apple.com> Bumped Xcode project versions for lldb-89 and debugserver-153.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144911 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
934fc6b329ddf9f2a3c0cd29f6fc309111aa5ae8 15-Nov-2011 Greg Clayton <gclayton@apple.com> Bumped Xcode project version for lldb-88 and debugserver-152.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144616 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
32e2564f9af50147044dcdc0c9677bba0fcb4287 09-Nov-2011 Greg Clayton <gclayton@apple.com> Cleanup some warnings.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144200 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/scripts/dbgnub-config.pl
bcf07b37b3e3cd37ac74cc42c12009f130f185a3 09-Nov-2011 Jason Molenda <jmolenda@apple.com> Remove the QAddressIsExecutable packet I added last night.

Add a more general purpose qMemoryRegionInfo packet which can
describe various attributes about a memory region. Currently it
will return the start address, size, and permissions (read, write,
executable) for the memory region. It may be possible to add
additional attributes in the future such as whether the region is
designated as stack memory or jitted code a la vmmap.

I still haven't implemented the lldb side of the code to use this
packet yet so there may be unexpected behavior - but the basic implementation looks
about right. I'll hook it up to lldb soon and fix any problems that crop up.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144175 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachTask.h
ebugserver/source/MacOSX/MachVMMemory.cpp
ebugserver/source/MacOSX/MachVMMemory.h
ebugserver/source/MacOSX/MachVMRegion.cpp
ebugserver/source/MacOSX/MachVMRegion.h
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
dc8ff30b6dbe28c851e99712e20c1358eca4709d 08-Nov-2011 Jason Molenda <jmolenda@apple.com> Add "QAddressIsExecutable" packet to debugserver. Used to test
whether a given address is in an executable region of memory or
not. I haven't written the lldb side that will use this packet it
hasn't been tested yet but it's a simple enough bit of code.

I want to have this feature available for the unwinder code. When
we're stopped at an address with no valid symbol context, there are
a number of questions I'd like to ask --

is the current pc value in an executable region (e.g. did they
jump to unallocated/unexecutable memory? we know how to unwind
from here if so.)

Is the stack pointer or the frame pointer the correct register
to use to find the caller's saved pc value?

Once we're past the first frame we can trust things like eh_frame
and ABI unwind schemes but the first frame is challenging and having
a way to check potential addresses to see if they're executable or
not would help narrow down the possibilities a lot.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144074 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachTask.h
ebugserver/source/MacOSX/MachVMMemory.cpp
ebugserver/source/MacOSX/MachVMMemory.h
ebugserver/source/MacOSX/MachVMRegion.h
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
abb3302051246273eb92cca203c9a1b9d9736e05 08-Nov-2011 Greg Clayton <gclayton@apple.com> Moved many of the "settings" that used to be in "target.process.*" to just
be in the target. All of the environment, args, stdin/out/err files, etc have
all been moved. Also re-enabled the ability to launch a process in a separate
terminal on MacOSX.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144061 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
d1d9f75c714c9db033c5901ea72c53893bd8f47d 07-Nov-2011 Greg Clayton <gclayton@apple.com> Bumped Xcode project version for lldb-86 and debugserver-151



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144032 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
49cddea52ef10cc1e5deffd4631fb88bcf8ee33f 07-Nov-2011 Greg Clayton <gclayton@apple.com> Xcode project changes to install "lldb" into "/usr/bin" and have LLDB.framework
in "/System/Library/PrivateFrameworks", and also have "lldb" in the Xcode.app
and the LLDB.framework in Xcode.app as well.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144030 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
3e4238d47a6d1a3106f357d2e7b495870721c7ae 04-Nov-2011 Greg Clayton <gclayton@apple.com> Fixed the Xcode project building of LLVM to be a bit more user friendly:

- If you download and build the sources in the Xcode project, x86_64 builds
by default using the "llvm.zip" checkpointed LLVM.
- If you delete the "lldb/llvm.zip" and the "lldb/llvm" folder, and build the
Xcode project will download the right LLVM sources and build them from
scratch
- If you have a "lldb/llvm" folder already that contains a "lldb/llvm/lib"
directory, we will use the sources you have placed in the LLDB directory.

Python can now be disabled for platforms that don't support it.

Changed the way the libllvmclang.a files get used. They now all get built into
arch specific directories and never get merged into universal binaries as this
was causing issues where you would have to go and delete the file if you wanted
to build an extra architecture slice.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143678 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/debugserver.xcodeproj/xcshareddata/xcschemes/debugserver.xcscheme
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
425743ed071a0ba41afebce6f9839741de21c74a 03-Nov-2011 Jim Ingham <jingham@apple.com> Print out the task suspend count as well.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143659 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-threads/examine-threads.c
ec31b37a6b8bec8cba61b795238a9c7750dc57e4 03-Nov-2011 Greg Clayton <gclayton@apple.com> Bumping Xcode project versions for lldb-85 and debugserver-150.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143587 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
e5a4e81648c01bc422d1edf4d8d787342d5bb6d5 01-Nov-2011 Greg Clayton <gclayton@apple.com> Bumped Xcode project version to lldb-84 and debugserver-149.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143408 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
b51693999473f5dc7cb9681bbbc4a65028eea35b 01-Nov-2011 Greg Clayton <gclayton@apple.com> Fixed some warnings after enabling some stricter warnings in the Xcode project
settings.

Also fixed an issue where we weren't creating anonymous namepaces correctly:
<rdar://problem/10371295>




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143403 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-debug/darwin-debug.cpp
ldb-platform/lldb-platform.cpp
97c8957257a3e0b3ce6f46f8e5a28c965e30f357 31-Oct-2011 Daniel Dunbar <daniel@zuster.org> warnings: Fix a bunch of -Wreorder problems.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143381 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
d6ceffbde243f0094586dd0c4c6d19fd6c866ad9 29-Oct-2011 Greg Clayton <gclayton@apple.com> Updated the project to use the "DEVELOPER_DIR" build setting that specifies
the path to the /Developer directory, and also bumped the Xcode project version
for lldb-83 and debugserver-148.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@143269 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
0e8147bd867e4cdaae9400f56d02c7aacd40a9b3 29-Oct-2011 Greg Clayton <gclayton@apple.com> Enabled the "printf" attribute on all debugserver logging functions and fixed
the ensuing mayhem.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@143244 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNBBreakpoint.cpp
ebugserver/source/DNBLog.cpp
ebugserver/source/DNBLog.h
ebugserver/source/MacOSX/MachException.cpp
ebugserver/source/MacOSX/MachException.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/RNBSocket.cpp
ebugserver/source/debugserver.cpp
b6ee2e5f0fe6e6da2902f3365510a0932068cade 28-Oct-2011 Greg Clayton <gclayton@apple.com> Bumping Xcode project version in mainline to match the latest build that was
submitted.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@143199 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
c0977b917f414acf5612b20b72097a7281b217c1 28-Oct-2011 Greg Clayton <gclayton@apple.com> Python does some bad things to the signal masks in the current process and
then we spawn child processes (debugserver, etc) and those bad settings get
inherited. We stop this from happening by correctly mucking with the posix
spawn attributes.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@143176 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-debug/darwin-debug.cpp
ebugserver/source/MacOSX/MachProcess.cpp
3ce51281f53e4554ac27abcb504a104d07f53131 23-Oct-2011 Benjamin Kramer <benny.kra@googlemail.com> Remove unused include of deprecated header.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142753 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/PseudoTerminal.cpp
900b3c70895ec33c6a071befd37b33cd5856ac82 22-Oct-2011 Greg Clayton <gclayton@apple.com> Bumped versions for lldb-81 and debugserver-146.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142718 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
044c02b1f2da8afe0aa2771768ec42e3c2dee36a 01-Oct-2011 Greg Clayton <gclayton@apple.com> Bumped Xcode project version for lldb-80 and debugserver-145.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140922 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
3dd956eb7ee3e93df6b68a9c7c528e92359b6026 29-Sep-2011 Johnny Chen <johnny.chen@apple.com> Modify the delegation chain from MachThreadList -> MachThread -> DNBArchProtocol so that when
the watchpoint state is changed, not only does the change propagate to all the thread instances,
it also updates a global debug state, if chosen by the DNBArchProtocol derivative.

Once implemented, the DNBArchProtocol derivative, also makes sure that when new thread comes along,
it tries to inherit from the global debug state, if it is valid.

Modify TestWatchpointMultipleThreads.py to test this functionality.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140811 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBArch.h
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/MachThread.h
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
48c7756be4ae81d9e524ba23ef89a401bdf9fa31 29-Sep-2011 Johnny Chen <johnny.chen@apple.com> Fix a bug in the current MacOSX MachThreadList::EnableHardwareWatchpoint() impl so that
it enables the hardware watchpoint for all existing threads. Add a test file for that.
Also fix MachThreadList::DisableHardwareWatchpoint().


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140757 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThreadList.cpp
d466ebc0da3ecd12dfb8da22a8f823d370338013 19-Sep-2011 Johnny Chen <johnny.chen@apple.com> The r139982 patch has a bug by using the constant "x86_AVX_STATE64".
Patch by Filipe.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140037 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
6e0101c86555a06b3bd4cb6104b35abfae0b0057 17-Sep-2011 Greg Clayton <gclayton@apple.com> Convert lldb::ModuleSP to use an instrusive ref counted pointer.
We had some cases where getting the shared pointer for a module from
the global module list was causing a performance issue when debugging
with DWARF in .o files. Now that the module uses intrusive ref counts,
we can easily convert any pointer to a shared pointer.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139983 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
2080155a1aecfa50a82760dcc4127575fb5dea67 17-Sep-2011 Greg Clayton <gclayton@apple.com> Added more logging, and renamed FPR to FPU in a the register set/flavor enum.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139982 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
48e83736a4c1782b3d2beae1d699adf664f1f390 17-Sep-2011 Greg Clayton <gclayton@apple.com> Correctly handle the when we the 'G' packet fails. There were
cases where we were returning no error even though this packet
was failing.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139981 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
36889adf3700165ae13e8defb7433f2ba80df697 17-Sep-2011 Johnny Chen <johnny.chen@apple.com> Foe x86_64/i386, piggyback the hardware index of the fired watchpoint in the exception
data sent back to the debugger. On the debugger side, use the opportunity during the
StopInfoMachException::CreateStopReasonWithMachException() method to set the hardware index
for the very watchpoint location.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139975 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
dbcf98c194742f911c963854084c66aa49a5e513 15-Sep-2011 Jim Ingham <jingham@apple.com> Track whether a process was Launched or Attached to. If Attached, the detach when the debugger is destroyed, rather than killing the process. Also added a Debugger::Clear, which gets called in Debugger::Destroy to deal with all the targets in the Debugger. Also made the Driver's main loop call Destroy on the debugger, rather than just Destroying the currently selected Target's process.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139852 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
a1cb0f4caeabf20906c5fce4150dbe04c0ac29ef 15-Sep-2011 Johnny Chen <johnny.chen@apple.com> Add comment regarding method call to DNBArchProtocol::NotifyException().


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139800 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThread.cpp
ba3d6989f48afd8e3f4c6c70db45206efd64d1eb 15-Sep-2011 Johnny Chen <johnny.chen@apple.com> Modify MachThread::NotifyException() to allow the arch specific protocol to process
the passed in (MachException::Data &)exc first before possible reassignment of the
member m_stop_exception with exc. This allows lldb to stop at the watchpoint of
a simple test program.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139767 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThread.cpp
0ff816295306155094fd2daae005ed2beaa007c4 14-Sep-2011 Johnny Chen <johnny.chen@apple.com> Update I386 DNB impl to fix the same errors as DNBArchImplX86_64: ('==' instead of '=') and (by value instead of by reference).


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139667 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
69b6ec840171ef30af4ed7646155bffc225002ca 14-Sep-2011 Johnny Chen <johnny.chen@apple.com> Watchpoint WIP:

o WatchpointLocationList:
Add a GetListMutex() method.
o WatchpointLocation:
Fix Dump() method where there was an extra % in the format string.
o Target.cpp:
Add implementation to CreateWatchpointLocation() to create and enable a watchpoint.

o DNBArchImplX86_64.cpp:
Fix bugs in SetWatchpoint()/ClearWatchpoint() where '==' was used, instead of '=',
to assign/reset the data break address to a debug register.

Also fix bugs where a by reference debug_state should have been used, not by value.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139666 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
83dd2039d86b79e9cd5cf320bdb50c838fcb7b9c 14-Sep-2011 Jim Ingham <jingham@apple.com> Adding "-n", "-p" and "-w" flags to the lldb command-line tool to
allow attaching from the command line.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139665 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
cc637461f6c59851302836c64e0cb002de4f4571 13-Sep-2011 Jim Ingham <jingham@apple.com> SBSourceManager now gets the real source manager either from the Debugger or Target. Also, move the SourceManager file cache into the debugger
so it can be shared amongst the targets.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139564 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
0a44b0d3d5686b7a16db02ad2440126631c9f31a 09-Sep-2011 Johnny Chen <johnny.chen@apple.com> Reset the debug status register, only if necessary, before we resume,
which saves unnecessary traffic to the kernel.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139410 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
520e7fe1c4d112d67d56fabf1dc2b1ad484e30ef 09-Sep-2011 Enrico Granata <granata.enrico@gmail.com> Basic infrastructure code to exploit malloc stack logging as available on Mac OS X to track the allocation history of pointers on the target process

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139337 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachTask.h
ebugserver/source/MacOSX/stack_logging.h
d8b7248128c7e8fbeb3c3b64456e188dcebbcd13 08-Sep-2011 Johnny Chen <johnny.chen@apple.com> Added comments about exception code.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139294 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
fc8909388e6f1cea591c0d56434236f8d16543e6 08-Sep-2011 Johnny Chen <johnny.chen@apple.com> Add logic to the DNBArchImplX86_64/DNBArchImplI386::NotifyException() callback method
in order to distinguish the real single step exception from a watchpoint exception
which uses the same exc_type of EXC_BREAKPOINT and exc_code of EXC_I386_SGL.

This is done by checking the debug status register to find out whether the watchpoint
data break event has fired, and, if yes, stuff the data break address into the exception's
exc_sub_code field on the debugserver side for lldb to consume on the other end.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139274 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
2c45f5425f35af30efb4f2751890decf292e8eaf 07-Sep-2011 Johnny Chen <johnny.chen@apple.com> Add logic to MachThreadList::GetThreadID() for the use case of setting a watchpoint
(MachThreadList::EnableHardwareWatchpoint()) where the watchpoint is not associated
with a thread and the current thread, if set, is returned, otherwise we return the
first thread.

Plus minor change to RNBRemote::HandlePacket_z() to use the existing macros to check
the validity of break_id/watch_id.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139246 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/RNBRemote.cpp
390a0e70ed4d00e34be40401dea4b63c4630741e 07-Sep-2011 Johnny Chen <johnny.chen@apple.com> Minor change: compare the return val of DNBWatchpointSet() against INVALID_NUB_WATCH_ID
to determine its validity.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139209 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
31d8918cb12fa1f715920db37a2290b3911e62ee 06-Sep-2011 Johnny Chen <johnny.chen@apple.com> DNBBreakpoint::SetEnabled() should take a bool, not a uint32_t, as its input argument.
Plus for watchpoint related functions, add new macros INVALID_NUB_WATCH_ID and
NUB_WATCH_ID_IS_VALID and use them, instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139163 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNBBreakpoint.h
ebugserver/source/DNBDefs.h
5b4b00f5fd83d87de954d80d54fd6cc922772c19 02-Sep-2011 Johnny Chen <johnny.chen@apple.com> Watchpoint work in progress:

Add a virtual method GetHardwareWatchpointHit() to the DNBArchProtocol base class
which consults the architecture to return the watchpoint hit; otherwise return an
invalid index.

Add impl. of the method to X86_64 and I386 subclasses, plus reset the debug status
register before we resume execution of the inferior thread.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139034 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBArch.h
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
fe98a2e6d17f0cb3ffa4a071bb43eb76c339adef 31-Aug-2011 Johnny Chen <johnny.chen@apple.com> Renaming: from IsVacantWatchpoint() to IsWatchpointVacant().


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138907 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
0875a979e39324f0b8e7597b8ba37cca9efa0d27 31-Aug-2011 Johnny Chen <johnny.chen@apple.com> Renamed the helper method to ClearWatchpointHits() for clarity of its purpose.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138899 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
9d544f43d8c1637c45562f1402012c235f648ee9 31-Aug-2011 Johnny Chen <johnny.chen@apple.com> Add a couple of helper methods to check/clear the debug status register
which contains the watchpoint hit information.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138881 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
d1119941f77f56d9660d1666c47df8f24e4408e2 31-Aug-2011 Johnny Chen <johnny.chen@apple.com> Fix the shift amount applied to size_and_rw_bits() for debug control register,
which did not take into account the hardware index.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138867 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
503b407390ee67099415d6bdac30d66c53ddcd0d 31-Aug-2011 Johnny Chen <johnny.chen@apple.com> Update comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138863 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
25d2818c62140bb79cc3d689c4052b306c59c6b7 31-Aug-2011 Johnny Chen <johnny.chen@apple.com> Watchpoint work in progress: add helper methods to DNB arch impl for I386 to implment Enable/DisableHardwareWatchpoint.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138847 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
738fe1ba1fb9b7add6f5be5d65c6f73c944b422f 31-Aug-2011 Johnny Chen <johnny.chen@apple.com> Watchpoint work in progress: add helper methods to DNB arch impl for X86_64 to implment Enable/DisableHardwareWatchpoint.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138844 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
eb0eae254e4e2d737b9c137296197a70a1ba7f68 30-Aug-2011 Johnny Chen <johnny.chen@apple.com> Add stubs of incomplete watchpoint implementation with "FIXME" markers.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138790 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
ebugserver/source/RNBRemote.cpp
e39356825b86cd7484097ca4c4c9f07f9ff95e2e 29-Aug-2011 Greg Clayton <gclayton@apple.com> Added the debug registers for i386 and x86_64 in preparation for watchpoints.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138770 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/i386/MachRegisterStatesI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
ebugserver/source/MacOSX/x86_64/MachRegisterStatesX86_64.h
0605942377d954195c7c7b0a79c831233fb4e9ef 29-Aug-2011 Johnny Chen <johnny.chen@apple.com> Remove an extra break statement.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138763 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
cf0de2677d7c01d9117c782f67b85fa29d115c2a 17-Aug-2011 Jim Ingham <jingham@apple.com> Better help string for "lldb -- file arg1 arg2..."

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137789 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
6ae254432fed5ba37a8114e8a51702accaae5bb9 17-Aug-2011 Jim Ingham <jingham@apple.com> Document how to pass program args to lldb command-line.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137784 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
c5d97ed051278b521e2e540261ba0f2d649fe05e 17-Aug-2011 Greg Clayton <gclayton@apple.com> Bumped Xcode project versions for lldb-73 and debugserver-144.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137782 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
e1db7c764dbe04bbb2c7050b9372730df8aec27a 13-Aug-2011 Greg Clayton <gclayton@apple.com> Bumped Xcode project versions for lldb-72 and debugserver-143.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137547 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
558dd5bc8b25722fa5b5106586b97ecf99e0026e 13-Aug-2011 Jim Ingham <jingham@apple.com> Add a version of SBDebugger::Create which allows us to specify whether to source
in the init files or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137541 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
bedc667c905c55de911d8b9195039d82e6cf0121 12-Aug-2011 Jason Molenda <jmolenda@apple.com> Fixes the occasional crash on exit when quitting lldb with control-D.

If the IOChannel has already freed out its m_driver member, and
there's still a character to be read/written (that is, the ^D
character), just skip that char instead of trying to write through
a null object pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137421 91177308-0d34-0410-b5e6-96231b3b80d8
river/IOChannel.cpp
1e1460b1999eabcbd5319930b137b03df6a770aa 11-Aug-2011 Johnny Chen <johnny.chen@apple.com> To silence the static analyzer.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137326 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
7559f33de7b3706324fcc8467179463f7aaec348 11-Aug-2011 Johnny Chen <johnny.chen@apple.com> To silence the static analyzer.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137319 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBDataRef.cpp
178e101a9e53ba2cb458c20702a98d76dd851c87 11-Aug-2011 Johnny Chen <johnny.chen@apple.com> Incremental fixes of issues found by Xcode static analyzer.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137288 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
8bc9af185a3022aa739a402a4290b60b78d7a2ed 11-Aug-2011 Jim Ingham <jingham@apple.com> In the case where we are trying to resume a thread all the way to 0, if we get


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137287 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThread.cpp
0734eb08c3ac64ca33681d904d931a27d0d9bd5a 11-Aug-2011 Johnny Chen <johnny.chen@apple.com> Ignore the static analyzer, instead; and add comment why.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137275 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
9a7749c6dd24f85e423066b8877bd9edc62f13cf 11-Aug-2011 Johnny Chen <johnny.chen@apple.com> Incremental fixes of issues found by Xcode static analyzer.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137267 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/debugserver.cpp
ee6e790171b9a04023d0ea22603f0ac0ecb9a2c6 11-Aug-2011 Johnny Chen <johnny.chen@apple.com> Incremental fixes of issues found by Xcode static analyzer.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137257 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/IOChannel.cpp
c0c397fbb8d4145a62b036c2104aab7e34d84ed2 09-Aug-2011 Sean Callanan <scallanan@apple.com> Fixed a problem where the HasAVX() code in
debugserver did not back up %ebx/%rbx, even
though it was being clobbered by the CPUID
instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137131 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/HasAVX.s
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
153191e36fcc528c393f0290a646d3f777a33695 09-Aug-2011 Greg Clayton <gclayton@apple.com> The "bool HasAVX()" function doesn't backup and restore the
cpu registers it uses and it crashes the release version of
debugserver. We just get lucky in Debug builds. Until this
is fixed I am disabling AVX detection to avoid the crashes.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137113 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
716cefbded5b438eeb8d310d3965dd1be86bcc46 09-Aug-2011 Greg Clayton <gclayton@apple.com> Added some logging and did some member renaming.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137112 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/MachThread.h
0eeaa9846d816181372d6ebee34de37c8bd21efb 09-Aug-2011 Jim Ingham <jingham@apple.com> Remove some commented out code that doesn't connect to anything yet...

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137081 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
4b66329ac82b5f3d939bd31b4d1498da9257d85a 02-Aug-2011 Johnny Chen <johnny.chen@apple.com> Patch by David Forsythe to build lldb on FreeBSD!

I did not take the patch for ClangExpressionParser.cpp since there was a
recent change by Peter for the same line. Feel free to disagree. :-)

Reference:
----------------------------------------------------------------------
r136580 | pcc | 2011-07-30 15:42:24 -0700 (Sat, 30 Jul 2011) | 3 lines

Add reloc arg to standard JIT createJIT()

Fixes non-__APPLE__ build. Patch by Matt Johnson!
----------------------------------------------------------------------

Also, I ignore the part of the patch to remove the RegisterContextDarwin*.h/.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136720 91177308-0d34-0410-b5e6-96231b3b80d8
river/IOChannel.h
river/Makefile
19395ef188f143d4082910c59bc775d2af96920d 01-Aug-2011 Greg Clayton <gclayton@apple.com> Update Xcode project versions to lldb-70 and debugserver-142.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136606 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
d05213b79411eb12bcd75f07d33f5245c07edb0d 26-Jul-2011 Jason Molenda <jmolenda@apple.com> RNBRemote.cpp, RNBRemote.h: Add a new qGetPid packet which returns
the pid of the process currently being debugged by debugserer in
hex, or 0 if unavailable.

This is effectively the same as the qC packet but that packet is
not clear in either its documentation or implementation (in gdb et al)
as to whether it is intended to return a pid or a thread id. qGetPid
is unambiguous.

If qGetPid is unimplemented in the remote debugserver, the debugger may
try qC and see what kind of value is returned..


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136055 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
aa43001dd4d178ca7132801c5af1b878afd970f1 21-Jul-2011 Jim Ingham <jingham@apple.com> If we are telling only one thread to run in debugserver, and that thread has been suspended from outside
the debugger, resume it before running so we will actually make progress.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135655 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/MachThread.h
ebugserver/source/MacOSX/MachThreadList.cpp
db15e0cbbd18d6cd10a0197bae31aafb9e078365 16-Jul-2011 Sean Callanan <scallanan@apple.com> Added support for dynamic detection of AVX, and
fixed a few bugs that revealed. Now the "register
read" command should show AVX registers
(ymm0-ymm15) on Mac OS X platforms that support
them.

When testing this on Mac OS X, run debugserver
manually, like this:

debugserver --native-regs localhost:1111 /path/to/executable

Then

lldb /path/to/executable
...
(lldb) process connect connect://localhost:1111


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135331 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/MacOSX/HasAVX.h
ebugserver/source/MacOSX/HasAVX.s
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
6247dbee41ec51e9a082df7e86269c0f47f28160 12-Jul-2011 Jim Ingham <jingham@apple.com> Added "command history" command to dump the command history.
Also made:
(lldb) !<NUM>
(lldb) !-<NUM>
(lldb) !!

work with the history. For added benefit:

(lldb) !<NUM><TAB>

will insert the command at position <NUM> in the history into the command line to be edited.

This is only partial, I still need to sync up editline's history list with the one kept by the interpreter.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134955 91177308-0d34-0410-b5e6-96231b3b80d8
river/IOChannel.cpp
9b82f8637b65c90e91c2827245550a1bb5e8df91 11-Jul-2011 Greg Clayton <gclayton@apple.com> Added the ability to see block variables when looking up addresses
with the "target modules lookup --address <addr>" command. The variable
ID's, names, types, location for the address, and declaration is
displayed.

This can really help with crash logs since we get, on MacOSX at least,
the registers for the thread that crashed so it is often possible to
figure out some of the variable contents.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134886 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
00e4f65fdcf4941348534a488c89badc78bd4740 08-Jul-2011 Jason Molenda <jmolenda@apple.com> Rewrite get_kinfo_proc_for_pid() to get the kinfo_proc for
the one process we're interested in, instead of fetching all
of them and only keeping one.

(the old implementation made sense when we were doing the
initial find-this-process-by-pid-or-name by looking through
all the kinfo_procs.)



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134686 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-threads/examine-threads.c
37f1b929ece512d5ad525f319b8705c123ba9835 08-Jul-2011 Jason Molenda <jmolenda@apple.com> Handle the possible case where the process launch failed
but we don't have an error message.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134662 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/debugserver.cpp
801417e453f8531ac176cd952200587bf15d9ccf 07-Jul-2011 Greg Clayton <gclayton@apple.com> Added "target variable" command that allows introspection of global
variables prior to running your binary. Zero filled sections now get
section data correctly filled with zeroes when Target::ReadMemory
reads from the object file section data.

Added new option groups and option values for file lists. I still need
to hook up all of the options to "target variable" to allow more complete
introspection by file and shlib.

Added the ability for ValueObjectVariable objects to be created with
only the target as the execution context. This allows them to be read
from the object files through Target::ReadMemory(...).

Added a "virtual Module * GetModule()" function to the ValueObject
class. By default it will look to the parent variable object and
return its module. The module is needed when we have global variables
that have file addresses (virtual addresses that are specific to
module object files) and in turn allows global variables to be displayed
prior to running.

Removed all of the unused proxy object support that bit rotted in
lldb_private::Value.

Replaced a lot of places that used "FileSpec::Compare (lhs, rhs) == 0" code
with the more efficient "FileSpec::Equal (lhs, rhs)".

Improved logging in GDB remote plug-in.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134579 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-platform/lldb-platform.cpp
e99aa886452424f945d862dcacdf252c785f5ec9 01-Jul-2011 Greg Clayton <gclayton@apple.com> Bump Xcode project version to lldb-66 and debugserver-141.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134232 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
787554b1aeebf6198ace0a5267051792a24e1e19 30-Jun-2011 Jason Molenda <jmolenda@apple.com> Restructure to be modular instead of a single big function;
should make it a little easier to use this as an example of
how to fetch all the different bits of information about
threads.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134135 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-threads/examine-threads.c
87ac9024b5ae2d4f1f66ea9128acb8e76825b358 25-Jun-2011 Greg Clayton <gclayton@apple.com> Bumped Xcode project versions to lldb-65 and debugserver-140.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133865 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
04f081d0572d046456009ce8273ab2ff0a985219 25-Jun-2011 Jason Molenda <jmolenda@apple.com> Add support for a QEnvironmentHexEncoded packet which takes its
arguments in hex-encoded form instead of the old QEnvironment packet
which takes them as plain-text strings. Environment variables
containing remote protocol special chars like '#' would fail to set
with QEnvironment.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133857 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
a4082f009b0c0284533759398ef2e49fc37a1d3c 21-Jun-2011 Jason Molenda <jmolenda@apple.com> Replace examine-threads.c with a similar little utility I wrote a
while back. By default its output will be less verbose than the
old examine-threads.c but adding the '-v' command line flag will
give all the information that examine-threads.c provided plus some.

Of note, this implementation can take a process name -- and it will
use the libproc API so it can match program names longer than 16
characters.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133500 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-threads/examine-threads.c
63afdb07641f04aa7b60d895120b056124d3469b 17-Jun-2011 Greg Clayton <gclayton@apple.com> Improved the packet throughput when debugging with GDB remote by over 3x on
darwin (not sure about other platforms).

Modified the communication and connection classes to not require the
BytesAvailable function. Now the "Read(...)" function has a timeout in
microseconds.

Fixed a lot of assertions that were firing off in certain cases and replaced
them with error output and code that can deal with the assertion case.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133224 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-platform/lldb-platform.cpp
c40dfc53ced2a8a8243f410e90eab4fbbe63f1a6 04-Jun-2011 Greg Clayton <gclayton@apple.com> Don't codesign with lldb_codesign for non MacOSX SDKs.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132597 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
421ca5014ea0e163998b9a8e0d777d3adb5c872e 29-May-2011 Greg Clayton <gclayton@apple.com> Don't have the debugger default to ignoring EOF. This is only what the driver
(or anything running in a terminal) wants. Not what a UI (Xcode) would want
where it creates a debugger per debug window. The current code had an infinite
loop after a debug session ended.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132280 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
7d20d2b20f4a9b120b953bedcfa1750f55ccc8bf 26-May-2011 Greg Clayton <gclayton@apple.com> lldb-56 with codesign settings fixed in the Xcode projects.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132123 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
225b8e7175981bc8e35c1a9312941334d49529fe 25-May-2011 Greg Clayton <gclayton@apple.com> Bumping Xcode project versions for lldb-55 and debugserver-139.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132067 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
04d397c5e251eaa5f520dbe6381d2a82303350e1 23-May-2011 Greg Clayton <gclayton@apple.com> Fixed an issue in the EmulateInstructionARM there the IT opcode was trying to
parse NOP instructions. I added the new table entries for the NOP for the
plain NOP, Yield, WFE, WFI, and SEV variants. Modified the opcode emulation
function EmulateInstructionARM::EmulateMOVRdSP(...) to notify us when it is
creating a frame. Also added an abtract way to detect the frame pointer
register for both the standard ARM ABI and for Darwin.

Fixed GDBRemoteRegisterContext::WriteAllRegisterValues(...) to correctly be
able to individually write register values back if case the 'G' packet is
not implemented or returns an error.

Modified the StopInfoMachException to "trace" stop reasons. On ARM we currently
use the BVR/BCR register pairs to say "stop when the PC is not equal to the
current PC value", and this results in a EXC_BREAKPOINT mach exception that
has 0x102 in the code.

Modified debugserver to create the short option string from long option
definitions to make sure it doesn't get out of date. The short option string
was missing many of the newer short option values due to a modification of
the long options defs, and not modifying the short option string.





git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131911 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/RNBRemote.cpp
ebugserver/source/debugserver.cpp
c0fa53324d62a48257c092a3347d6e7236aa3152 23-May-2011 Greg Clayton <gclayton@apple.com> Added new lldb_private::Process memory read/write functions to stop a bunch
of duplicated code from appearing all over LLDB:

lldb::addr_t
Process::ReadPointerFromMemory (lldb::addr_t vm_addr, Error &error);

bool
Process::WritePointerToMemory (lldb::addr_t vm_addr, lldb::addr_t ptr_value, Error &error);

size_t
Process::ReadScalarIntegerFromMemory (lldb::addr_t addr, uint32_t byte_size, bool is_signed, Scalar &scalar, Error &error);

size_t
Process::WriteScalarToMemory (lldb::addr_t vm_addr, const Scalar &scalar, uint32_t size, Error &error);

in lldb_private::Process the following functions were renamed:

From:
uint64_t
Process::ReadUnsignedInteger (lldb::addr_t load_addr,
size_t byte_size,
Error &error);

To:
uint64_t
Process::ReadUnsignedIntegerFromMemory (lldb::addr_t load_addr,
size_t byte_size,
uint64_t fail_value,
Error &error);

Cleaned up a lot of code that was manually doing what the above functions do
to use the functions listed above.

Added the ability to get a scalar value as a buffer that can be written down
to a process (byte swapping the Scalar value if needed):

uint32_t
Scalar::GetAsMemoryData (void *dst,
uint32_t dst_len,
lldb::ByteOrder dst_byte_order,
Error &error) const;

The "dst_len" can be smaller that the size of the scalar and the least
significant bytes will be written. "dst_len" can also be larger and the
most significant bytes will be padded with zeroes.

Centralized the code that adds or removes address bits for callable and opcode
addresses into lldb_private::Target:

lldb::addr_t
Target::GetCallableLoadAddress (lldb::addr_t load_addr, AddressClass addr_class) const;

lldb::addr_t
Target::GetOpcodeLoadAddress (lldb::addr_t load_addr, AddressClass addr_class) const;

All necessary lldb_private::Address functions now use the target versions so
changes should only need to happen in one place if anything needs updating.

Fixed up a lot of places that were calling :

addr_t
Address::GetLoadAddress(Target*);

to call the Address::GetCallableLoadAddress() or Address::GetOpcodeLoadAddress()
as needed. There were many places in the breakpoint code where things could
go wrong for ARM if these weren't used.




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131878 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThread.cpp
5a26910ed231503d2a7a71365a44e379a994f4e6 22-May-2011 Greg Clayton <gclayton@apple.com> Added functions to lldb_private::Address to set an address from a load address
and set the address as an opcode address or as a callable address. This is
needed in various places in the thread plans to make sure that addresses that
might be found in symbols or runtime might already have extra bits set (ARM/Thumb).
The new functions are:

bool
Address::SetCallableLoadAddress (lldb::addr_t load_addr, Target *target);

bool
Address::SetOpcodeLoadAddress (lldb::addr_t load_addr, Target *target);

SetCallableLoadAddress will initialize a section offset address if it can,
and if so it might possibly set some bits in the address to make the address
callable (bit zero might get set for ARM for Thumb functions).

SetOpcodeLoadAddress will initialize a section offset address using the
specified target and it will strip any special address bits if needed
depending on the target.

Fixed the ABIMacOSX_arm::GetArgumentValues() function to require arguments
1-4 to be in the needed registers (previously this would incorrectly fallback
to the stack) and return false if unable to get the register values. The
function was also modified to first look for the generic argument registers
and then fall back to finding the registers by name.

Fixed the objective trampoline handler to use the new Address::SetOpcodeLoadAddress
function when needed to avoid address mismatches when trying to complete
steps into objective C methods. Make similar fixes inside the
AppleThreadPlanStepThroughObjCTrampoline::ShouldStop() function.

Modified ProcessGDBRemote::BuildDynamicRegisterInfo(...) to be able to deal with
the new generic argument registers.

Modified RNBRemote::HandlePacket_qRegisterInfo() to handle the new generic
argument registers on the debugserver side.

Modified DNBArchMachARM::NumSupportedHardwareBreakpoints() to be able to
detect how many hardware breakpoint registers there are using a darwin sysctl.
Did the same for hardware watchpoints in
DNBArchMachARM::NumSupportedHardwareWatchpoints().




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131834 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/RNBRemote.cpp
845d6dac85acc72334aeef730f088168fe0eaf36 16-May-2011 Caroline Tice <ctice@apple.com> Fix places that were writing directly to the debugger's output
handles to go through the appropriate channels instead.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131415 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
d45c3d7d55439692aa3215a709046944353b5917 16-May-2011 Greg Clayton <gclayton@apple.com> Added the ability to get a 32 or 64 bit simple return value from the
ABIMacOSX_arm plugin.

Modified darwin-debug to print out the exectuable, working directory and
arguments a bit differently.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131392 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-debug/darwin-debug.cpp
997b1e82f098a8b748b490d1ae6d0bbe597a59d5 15-May-2011 Greg Clayton <gclayton@apple.com> Added generic register numbers for simple ABI argument registers and defined
the appropriate registers for arm and x86_64. The register names for the
arguments that are the size of a pointer or less are all named "arg1", "arg2",
etc. This allows you to read these registers by name:

(lldb) register read arg1 arg2 arg3
...

You can also now specify you want to see alternate register names when executing
the read register command:

(lldb) register read --alternate
(lldb) register read -A




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131376 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBDefs.h
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
75906e4ec98af3717e415727a8d663a4e246bb4f 11-May-2011 Greg Clayton <gclayton@apple.com> Moved all code from ArchDefaultUnwindPlan and ArchVolatileRegs into their
respective ABI plugins as they were plug-ins that supplied ABI specfic info.

Also hookep up the UnwindAssemblyInstEmulation so that it can generate the
unwind plans for ARM.

Changed the way ABI plug-ins are handed out when you get an instance from
the plug-in manager. They used to return pointers that would be mananged
individually by each client that requested them, but now they are handed out
as shared pointers since there is no state in the ABI objects, they can be
shared.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131193 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
b38df1e945846a5d956974ec157902a6ad748868 10-May-2011 Caroline Tice <ctice@apple.com> Make sure writing asynchronous output only backs up
& overwrites prompt if the IOChannel input reader is the top
input reader.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131110 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.h
river/IOChannel.cpp
6b077117ad57c969286f72aae1d387ecd88769f5 09-May-2011 Greg Clayton <gclayton@apple.com> Revert some unintended project changes from my last checkin.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131097 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
061b79dbf1fefaf157d414747e98a463a0f32eda 09-May-2011 Greg Clayton <gclayton@apple.com> While implementing unwind information using UnwindAssemblyInstEmulation I ran
into some cleanup I have been wanting to do when reading/writing registers.
Previously all RegisterContext subclasses would need to implement:

virtual bool
ReadRegisterBytes (uint32_t reg, DataExtractor &data);

virtual bool
WriteRegisterBytes (uint32_t reg, DataExtractor &data, uint32_t data_offset = 0);

There is now a new class specifically designed to hold register values:
lldb_private::RegisterValue

The new register context calls that subclasses must implement are:

virtual bool
ReadRegister (const RegisterInfo *reg_info, RegisterValue &reg_value) = 0;

virtual bool
WriteRegister (const RegisterInfo *reg_info, const RegisterValue &reg_value) = 0;

The RegisterValue class must be big enough to handle any register value. The
class contains an enumeration for the value type, and then a union for the
data value. Any integer/float values are stored directly in an appropriate
host integer/float. Anything bigger is stored in a byte buffer that has a length
and byte order. The RegisterValue class also knows how to copy register value
bytes into in a buffer with a specified byte order which can be used to write
the register value down into memory, and this does the right thing when not
all bytes from the register values are needed (getting a uint8 from a uint32
register value..).

All RegiterContext and other sources have been switched over to using the new
regiter value class.




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131096 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
5e47385b4f036f79b2acf6ea58b6fd6a40763443 09-May-2011 Jim Ingham <jingham@apple.com> Change an unconditional log to a conditional one.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131079 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
a4582404fa50f89485e69a17281673147217d64f 08-May-2011 Greg Clayton <gclayton@apple.com> Fixed not being able to launch the i386 slice of a universal binary by adding
a new "QLaunchArch:<arch-name>" where <arch-name> is the architecture name.
This allows us to remotely launch a debugserver and then set the architecture
for the binary we will launch.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@131064 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
882c554207e94f66ba8d652302a9d817f275dc4e 04-May-2011 Caroline Tice <ctice@apple.com> Add ability to search backwards through command
history for a particular substring, using ctrl-r key.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130871 91177308-0d34-0410-b5e6-96231b3b80d8
river/IOChannel.cpp
c5f0b99c2c2e40dca22cf11208da70ae979a37e8 04-May-2011 Caroline Tice <ctice@apple.com> Minor cleanup: When asynchronous output comes along,
back up over and delete the prompt before writing out the
asynchronous output, rather than just going to a new line.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130843 91177308-0d34-0410-b5e6-96231b3b80d8
river/IOChannel.cpp
e1f50b9df1299f6b9181b5ac2699ed4a3ad38a59 04-May-2011 Greg Clayton <gclayton@apple.com> Added new OptionGroup classes for UInt64, UUID, File and Boolean values.

Removed the "image" command and moved it to "target modules". Added an alias
for "image" to "target modules".

Added some new target commands to be able to add and load modules to a target:
(lldb) target modules add <path>
(lldb) target modules load [--file <path>] [--slide <offset>] [<sect-name> <sect-load-addr> ...]

So you can load individual sections without running a target:

(lldb) target modules load --file /usr/lib/libSystem.B.dylib __TEXT 0x7fccc80000 __DATA 0x1234000000

Or you can rigidly slide an entire shared library:

(lldb) target modules load --file /usr/lib/libSystem.B.dylib --slid 0x7fccc80000

This should improve bare board debugging when symbol files need to be slid around manually.





git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130796 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/RNBContext.cpp
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
388ca8fef002edf49d66126efa8f4dff7176edc1 03-May-2011 Caroline Tice <ctice@apple.com> Make the driver listen for asynchronous output, rather than
the IOChannel, so that it can be written out even while the
IOChannel is collecting user input.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130789 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/IOChannel.cpp
river/IOChannel.h
4a348081030cdd2af758fddc869518357d9befd3 02-May-2011 Caroline Tice <ctice@apple.com> This patch captures and serializes all output being written by the
command line driver, including the lldb prompt being output by
editline, the asynchronous process output & error messages, and
asynchronous messages written by target stop-hooks.

As part of this it introduces a new Stream class,
StreamAsynchronousIO. A StreamAsynchronousIO object is created with a
broadcaster, who will eventually broadcast the stream's data for a
listener to handle, and an event type indicating what type of event
the broadcaster will broadcast. When the Write method is called on a
StreamAsynchronousIO object, the data is appended to an internal
string. When the Flush method is called on a StreamAsynchronousIO
object, it broadcasts it's data string and clears the string.

Anything in lldb-core that needs to generate asynchronous output for
the end-user should use the StreamAsynchronousIO objects.

I have also added a new notification type for InputReaders, to let
them know that a asynchronous output has been written. This is to
allow the input readers to, for example, refresh their prompts and
lines, if desired. I added the case statements to all the input
readers to catch this notification, but I haven't added any code for
handling them yet (except to the IOChannel input reader).



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130721 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
river/IOChannel.cpp
river/IOChannel.h
97eecb1834431b39d4d58257f8ccfdea1db7f1de 25-Apr-2011 Greg Clayton <gclayton@apple.com> Put plug-ins into the correct directories as they were incorrectly located
in a Utility directory.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130135 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
abe0fed36d83e1c37af9dae90c2d25db742b4515 18-Apr-2011 Greg Clayton <gclayton@apple.com> Centralized a lot of the status information for processes,
threads, and stack frame down in the lldb_private::Process,
lldb_private::Thread, lldb_private::StackFrameList and the
lldb_private::StackFrame classes. We had some command line
commands that had duplicate versions of the process status
output ("thread list" and "process status" for example).

Removed the "file" command and placed it where it should
have been: "target create". Made an alias for "file" to
"target create" so we stay compatible with GDB commands.

We can now have multple usable targets in lldb at the
same time. This is nice for comparing two runs of a program
or debugging more than one binary at the same time. The
new command is "target select <target-idx>" and also to see
a list of the current targets you can use the new "target list"
command. The flow in a debug session can be:

(lldb) target create /path/to/exe/a.out
(lldb) breakpoint set --name main
(lldb) run
... hit breakpoint
(lldb) target create /bin/ls
(lldb) run /tmp
Process 36001 exited with status = 0 (0x00000000)
(lldb) target list
Current targets:
target #0: /tmp/args/a.out ( arch=x86_64-apple-darwin, platform=localhost, pid=35999, state=stopped )
* target #1: /bin/ls ( arch=x86_64-apple-darwin, platform=localhost, pid=36001, state=exited )
(lldb) target select 0
Current targets:
* target #0: /tmp/args/a.out ( arch=x86_64-apple-darwin, platform=localhost, pid=35999, state=stopped )
target #1: /bin/ls ( arch=x86_64-apple-darwin, platform=localhost, pid=36001, state=exited )
(lldb) bt
* thread #1: tid = 0x2d03, 0x0000000100000b9a a.out`main + 42 at main.c:16, stop reason = breakpoint 1.1
frame #0: 0x0000000100000b9a a.out`main + 42 at main.c:16
frame #1: 0x0000000100000b64 a.out`start + 52

Above we created a target for "a.out" and ran and hit a
breakpoint at "main". Then we created a new target for /bin/ls
and ran it. Then we listed the targest and selected our original
"a.out" program, so we showed two concurent debug sessions
going on at the same time.




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129695 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
e41494a9092e15192012a5e0a8a1ffd66c70b8bb 16-Apr-2011 Jim Ingham <jingham@apple.com> Add support for "dynamic values" for C++ classes. This currently only works for "frame var" and for the
expressions that are simple enough to get passed to the "frame var" underpinnings. The parser code will
have to be changed to also query for the dynamic types & offsets as it is looking up variables.

The behavior of "frame var" is controlled in two ways. You can pass "-d {true/false} to the frame var
command to get the dynamic or static value of the variables you are printing.

There's also a general setting:

target.prefer-dynamic-value (boolean) = 'true'

which is consulted if you call "frame var" without supplying a value for the -d option.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129623 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
5e342f50b42b265d8568e1c926328858e74b2c0a 14-Apr-2011 Greg Clayton <gclayton@apple.com> Added auto completion for architecture names and for platforms.

Modified the OptionGroupOptions to be able to specify only some of the options
that should be appended by using the usage_mask in the group defintions and
also provided a way to remap them to a new usage mask after the copy. This
allows options to be re-used and also targetted for specific option groups.

Modfied the CommandArgumentType to have a new eArgTypePlatform enumeration.
Taught the option parser to be able to automatically use the appropriate
auto completion for a given options if nothing is explicitly specified
in the option definition. So you don't have to specify it in the option
definition tables.

Renamed the default host platform name to "host", and the default platform
hostname to be "localhost".

Modified the "file" and "platform select" commands to make sure all options
and args are good prior to creating a new platform. Also defer the computation
of the architecture in the file command until all options are parsed and the
platform has either not been specified or reset to a new value to avoid
computing the arch more than once.

Switch the PluginManager code over to using llvm::StringRef for string
comparisons and got rid of all the AccessorXXX functions in lieu of the newer
mutex + collection singleton accessors.




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129483 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
b72d0f098e45936fa72e26b1a026c603e17e2d6c 12-Apr-2011 Greg Clayton <gclayton@apple.com> Moved the execution context that was in the Debugger into
the CommandInterpreter where it was always being used.

Make sure that Modules can track their object file offsets correctly to
allow opening of sub object files (like the "__commpage" on darwin).

Modified the Platforms to be able to launch processes. The first part of this
move is the platform soon will become the entity that launches your program
and when it does, it uses a new ProcessLaunchInfo class which encapsulates
all process launching settings. This simplifies the internal APIs needed for
launching. I want to slowly phase out process launching from the process
classes, so for now we can still launch just as we used to, but eventually
the platform is the object that should do the launching.

Modified the Host::LaunchProcess in the MacOSX Host.mm to correctly be able
to launch processes with all of the new eLaunchFlag settings. Modified any
code that was manually launching processes to use the Host::LaunchProcess
functions.

Fixed an issue where lldb_private::Args had implicitly defined copy
constructors that could do the wrong thing. This has now been fixed by adding
an appropriate copy constructor and assignment operator.

Make sure we don't add empty ModuleSP entries to a module list.

Fixed the commpage module creation on MacOSX, but we still need to train
the MacOSX dynamic loader to not get rid of it when it doesn't have an entry
in the all image infos.

Abstracted many more calls from in ProcessGDBRemote down into the
GDBRemoteCommunicationClient subclass to make the classes cleaner and more
efficient.

Fixed the default iOS ARM register context to be correct and also added support
for targets that don't support the qThreadStopInfo packet by selecting the
current thread (only if needed) and then sending a stop reply packet.

Debugserver can now start up with a --unix-socket (-u for short) and can
then bind to port zero and send the port it bound to to a listening process
on the other end. This allows the GDB remote platform to spawn new GDB server
instances (debugserver) to allow platform debugging.







git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129351 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-debug/darwin-debug.cpp
ebugserver/source/MacOSX/CFString.h
ebugserver/source/RNBSocket.cpp
ebugserver/source/RNBSocket.h
ebugserver/source/debugserver.cpp
ldb-platform/lldb-platform.cpp
dbeb3e1e038a75f00fd565203839020e1d00a7c6 11-Apr-2011 Stephen Wilson <wilsons@start.ca> Order of initialization lists.

This patch fixes all of the warnings due to unordered initialization lists.

Patch by Marco Minutoli.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129290 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
06d7cc86937caca0acf2b990a02a641dc9c7579a 04-Apr-2011 Greg Clayton <gclayton@apple.com> Added a speed test to the GDBRemoteCommunicationClient and
GDBRemoteCommunicationServer classes. This involved adding a new packet
named "qSpeedTest" which can test the speed of a packet send/response pairs
using a wide variety of send/recv packet sizes.

Added a few new connection classes: one for shared memory, and one for using
mach messages (Apple only). The mach message stuff is experimental and not
working yet, but added so I don't lose the code. The shared memory stuff
uses pretty standard calls to setup shared memory.




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128837 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-platform/lldb-platform.cpp
381f968161e2274c55706ead0baed444a26b5092 01-Apr-2011 Greg Clayton <gclayton@apple.com> Get rid of LONG_LONG_MAX and ULONG_LONG_MAX, and use LLONG_MAX and ULLONG_MAX
respectively.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128720 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBDataRef.cpp
ff39f746ebaa3710c44ba49bd9b0a6cf05f60a3f 01-Apr-2011 Greg Clayton <gclayton@apple.com> Added the ability to get a broadcaster event name for a given broadcaster
event.

Modified the ProcessInfo structure to contain all process arguments. Using the
new function calls on MacOSX allows us to see the full process name, not just
the first 16 characters.

Added a new platform command: "platform process info <pid> [<pid> <pid> ...]"
that can be used to get detailed information for a process including all
arguments, user and group info and more.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128694 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBSocket.cpp
ebugserver/source/RNBSocket.h
ebugserver/source/debugserver.cpp
24bc5d9bfad2a1c562c27e7cf37e1c56d85c45e7 30-Mar-2011 Greg Clayton <gclayton@apple.com> Many improvements to the Platform base class and subclasses. The base Platform
class now implements the Host functionality for a lot of things that make
sense by default so that subclasses can check:

int
PlatformSubclass::Foo ()
{
if (IsHost())
return Platform::Foo (); // Let the platform base class do the host specific stuff

// Platform subclass specific code...
int result = ...
return result;
}

Added new functions to the platform:

virtual const char *Platform::GetUserName (uint32_t uid);
virtual const char *Platform::GetGroupName (uint32_t gid);

The user and group names are cached locally so that remote platforms can avoid
sending packets multiple times to resolve this information.

Added the parent process ID to the ProcessInfo class.

Added a new ProcessInfoMatch class which helps us to match processes up
and changed the Host layer over to using this new class. The new class allows
us to search for processs:
1 - by name (equal to, starts with, ends with, contains, and regex)
2 - by pid
3 - And further check for parent pid == value, uid == value, gid == value,
euid == value, egid == value, arch == value, parent == value.

This is all hookup up to the "platform process list" command which required
adding dumping routines to dump process information. If the Host class
implements the process lookup routines, you can now lists processes on
your local machine:

machine1.foo.com % lldb
(lldb) platform process list
PID PARENT USER GROUP EFF USER EFF GROUP TRIPLE NAME
====== ====== ========== ========== ========== ========== ======================== ============================
99538 1 username usergroup username usergroup x86_64-apple-darwin FileMerge
94943 1 username usergroup username usergroup x86_64-apple-darwin mdworker
94852 244 username usergroup username usergroup x86_64-apple-darwin Safari
94727 244 username usergroup username usergroup x86_64-apple-darwin Xcode
92742 92710 username usergroup username usergroup i386-apple-darwin debugserver


This of course also works remotely with the lldb-platform:

machine1.foo.com % lldb-platform --listen 1234

machine2.foo.com % lldb
(lldb) platform create remote-macosx
Platform: remote-macosx
Connected: no
(lldb) platform connect connect://localhost:1444
Platform: remote-macosx
Triple: x86_64-apple-darwin
OS Version: 10.6.7 (10J869)
Kernel: Darwin Kernel Version 10.7.0: Sat Jan 29 15:17:16 PST 2011; root:xnu-1504.9.37~1/RELEASE_I386
Hostname: machine1.foo.com
Connected: yes
(lldb) platform process list
PID PARENT USER GROUP EFF USER EFF GROUP TRIPLE NAME
====== ====== ========== ========== ========== ========== ======================== ============================
99556 244 username usergroup username usergroup x86_64-apple-darwin trustevaluation
99548 65539 username usergroup username usergroup x86_64-apple-darwin lldb
99538 1 username usergroup username usergroup x86_64-apple-darwin FileMerge
94943 1 username usergroup username usergroup x86_64-apple-darwin mdworker
94852 244 username usergroup username usergroup x86_64-apple-darwin Safari

The lldb-platform implements everything with the Host:: layer, so this should
"just work" for linux. I will probably be adding more stuff to the Host layer
for launching processes and attaching to processes so that this support should
eventually just work as well.

Modified the target to be able to be created with an architecture that differs
from the main executable. This is needed for iOS debugging since we can have
an "armv6" binary which can run on an "armv7" machine, so we want to be able
to do:

% lldb
(lldb) platform create remote-ios
(lldb) file --arch armv7 a.out

Where "a.out" is an armv6 executable. The platform then can correctly decide
to open all "armv7" images for all dependent shared libraries.

Modified the disassembly to show the current PC value. Example output:

(lldb) disassemble --frame
a.out`main:
0x1eb7: pushl %ebp
0x1eb8: movl %esp, %ebp
0x1eba: pushl %ebx
0x1ebb: subl $20, %esp
0x1ebe: calll 0x1ec3 ; main + 12 at test.c:18
0x1ec3: popl %ebx
-> 0x1ec4: calll 0x1f12 ; getpid
0x1ec9: movl %eax, 4(%esp)
0x1ecd: leal 199(%ebx), %eax
0x1ed3: movl %eax, (%esp)
0x1ed6: calll 0x1f18 ; printf
0x1edb: leal 213(%ebx), %eax
0x1ee1: movl %eax, (%esp)
0x1ee4: calll 0x1f1e ; puts
0x1ee9: calll 0x1f0c ; getchar
0x1eee: movl $20, (%esp)
0x1ef5: calll 0x1e6a ; sleep_loop at test.c:6
0x1efa: movl $12, %eax
0x1eff: addl $20, %esp
0x1f02: popl %ebx
0x1f03: leave
0x1f04: ret

This can be handy when dealing with the new --line options that was recently
added:

(lldb) disassemble --line
a.out`main + 13 at test.c:19
18 {
-> 19 printf("Process: %i\n\n", getpid());
20 puts("Press any key to continue..."); getchar();
-> 0x1ec4: calll 0x1f12 ; getpid
0x1ec9: movl %eax, 4(%esp)
0x1ecd: leal 199(%ebx), %eax
0x1ed3: movl %eax, (%esp)
0x1ed6: calll 0x1f18 ; printf

Modified the ModuleList to have a lookup based solely on a UUID. Since the
UUID is typically the MD5 checksum of a binary image, there is no need
to give the path and architecture when searching for a pre-existing
image in an image list.

Now that we support remote debugging a bit better, our lldb_private::Module
needs to be able to track what the original path for file was as the platform
knows it, as well as where the file is locally. The module has the two
following functions to retrieve both paths:

const FileSpec &Module::GetFileSpec () const;
const FileSpec &Module::GetPlatformFileSpec () const;





git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128563 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/DNBLog.cpp
ebugserver/source/DNBLog.h
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
b344843f75ef893762c93fd0a22d2d45712ce74d 24-Mar-2011 Greg Clayton <gclayton@apple.com> Fixed the LLDB build so that we can have private types, private enums and
public types and public enums. This was done to keep the SWIG stuff from
parsing all sorts of enums and types that weren't needed, and allows us to
abstract our API better.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128239 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
58e26e0935138225477fd61283215ceff2068899 24-Mar-2011 Greg Clayton <gclayton@apple.com> Did a lot more work on abtracting and organizing the platforms.

On Mac OS X we now have 3 platforms:
PlatformDarwin - must be subclassed to fill in the missing pure virtual funcs
but this implements all the common functionality between
remote-macosx and remote-ios. It also allows for another
platform to be used (remote-gdb-server for now) when doing
remote connections. Keeping this pluggable will allow for
flexibility.
PlatformMacOSX - Now implements both local and remote macosx desktop platforms.
PlatformRemoteiOS - Remote only iOS that knows how to locate SDK files in the
cached SDK locations on the host.

A new agnostic platform has been created:
PlatformRemoteGDBServer - this implements the platform using the GDB remote
protocol and uses the built in lldb_private::Host
static functions to implement many queries.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128193 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-platform/lldb-platform.cpp
cb8977d726be451df9978a74088435667fa37da2 23-Mar-2011 Greg Clayton <gclayton@apple.com> Added new platform commands:

platform connect <args>
platform disconnect

Each platform can decide the args they want to use for "platform connect". I
will need to add a function that gets the connect options for the current
platform as each one can have different options and argument counts.

Hooked up more functionality in the PlatformMacOSX and PlatformRemoteiOS.
Also started an platform agnostic PlatformRemoteGDBServer.cpp which can end
up being used by one or more actual platforms. It can also be specialized and
allow for platform specific commands.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128123 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-platform/lldb-platform.cpp
4d3a89ef9d015e0cc3c12736b61d367fd98fe073 22-Mar-2011 Sean Callanan <scallanan@apple.com> Added AVX support to the Intel portion of debugserver. AVX
autodetection is not yet implemented, but the structures and
register reading/writing code are there.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128111 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/DNBDefs.h
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/i386/MachRegisterStatesI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
ebugserver/source/MacOSX/x86_64/MachRegisterStatesX86_64.h
61d043bbb1a1a20abf01dc73fa50c1ca0a46d71d 22-Mar-2011 Greg Clayton <gclayton@apple.com> Split the GDBRemoteCommunication class into three classes:
GDBRemoteCommunication - The base GDB remote communication class
GDBRemoteCommunicationClient - designed to be used for clients the connect to
a remote GDB server
GDBRemoteCommunicationServer - designed to be used on the server side of a
GDB server implementation.





git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128070 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-platform/lldb-platform.cpp
b622560b2c28c95379edea0bd295555c4d686a13 22-Mar-2011 Greg Clayton <gclayton@apple.com> Added missing files.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128061 91177308-0d34-0410-b5e6-96231b3b80d8
ldb-platform/lldb-platform.cpp
e86cbb9ef128db87cf904e330b2edfc15566bacd 22-Mar-2011 Greg Clayton <gclayton@apple.com> Abtracted the innards of lldb-core away from the SB interface. There was some
overlap in the SWIG integration which has now been fixed by introducing
callbacks for initializing SWIG for each language (python only right now).
There was also a breakpoint command callback that called into SWIG which has
been abtracted into a callback to avoid cross over as well.

Added a new binary: lldb-platform

This will be the start of the remote platform that will use as much of the
Host functionality to do its job so it should just work on all platforms.
It is pretty hollowed out for now, but soon it will implement a platform
using the GDB remote packets as the transport.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128053 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
4fdf7602bedd8be648f3c549074cf13d90a05f03 20-Mar-2011 Greg Clayton <gclayton@apple.com> Split all of the core of LLDB.framework/lldb.so into a
static archive that can be linked against. LLDB.framework/lldb.so
exports a very controlled API. Splitting the API into a static
library allows other tools (debugserver for now) to use the power
of the LLDB debugger core, yet not export it as its API is not
portable or maintainable. The Host layer and many of the other
internal only APIs can now be statically linked against.

Now LLDB.framework/lldb.so links against "liblldb-core.a" instead
of compiling the .o files only for the shared library. This fix
is only for compiling with Xcode as the Makefile based build already
does this.

The Xcode projecdt compiler has been changed to LLVM. Anyone using
Xcode 3 will need to manually change the compiler back to GCC 4.2,
or update to Xcode 4.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@127963 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
ebugserver/source/debugserver.cpp
52ce56101e97732def08c46279cffcb693458e63 13-Mar-2011 Stephen Wilson <wilsons@start.ca> Fix makefile builds when llvm is configured with -enable-shared.

We were dropping the expansion of -rpath=$(LibDir) on linux, which resulted in
the build not being able to resolve libLLVM.so. Bring in the definition before
expanding the values hanging off LD.Flags.

Thanks to Jason E. Aten for reporting this!





git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@127570 91177308-0d34-0410-b5e6-96231b3b80d8
river/Makefile
e4b9c1fb338ee1ada72e6a3c198afb342d68c5c1 08-Mar-2011 Greg Clayton <gclayton@apple.com> LLDB now has "Platform" plug-ins. Platform plug-ins are plug-ins that provide
an interface to a local or remote debugging platform. By default each host OS
that supports LLDB should be registering a "default" platform that will be
used unless a new platform is selected. Platforms are responsible for things
such as:
- getting process information by name or by processs ID
- finding platform files. This is useful for remote debugging where there is
an SDK with files that might already or need to be cached for debug access.
- getting a list of platform supported architectures in the exact order they
should be selected. This helps the native x86 platform on MacOSX select the
correct x86_64/i386 slice from universal binaries.
- Connect to remote platforms for remote debugging
- Resolving an executable including finding an executable inside platform
specific bundles (macosx uses .app bundles that contain files) and also
selecting the appropriate slice of universal files for a given platform.

So by default there is always a local platform, but remote platforms can be
connected to. I will soon be adding a new "platform" command that will support
the following commands:
(lldb) platform connect --name machine1 macosx connect://host:port
Connected to "machine1" platform.
(lldb) platform disconnect macosx

This allows LLDB to be well setup to do remote debugging and also once
connected process listing and finding for things like:
(lldb) process attach --name x<TAB>

The currently selected platform plug-in can now auto complete any available
processes that start with "x". The responsibilities for the platform plug-in
will soon grow and expand.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@127286 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
fc30997d8b7927a92c5ec69908c98912e7fc100c 26-Feb-2011 Johnny Chen <johnny.chen@apple.com> If the user sets a working directory path using "process launch -w <path>", honor that dir path;
otherwise, use the thing the debugserver is started with.

Fixed rdar://problem/9056462
The process launch flag '-w' for setting the current working directory not working?


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126537 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/debugserver.cpp
a2f7423310044cf76d8d52aa9153b7fd8b226b49 24-Feb-2011 Greg Clayton <gclayton@apple.com> Fixed CommandReturnObject::SetImmediateErrorFile() to set the correct stream.

Modifed lldb_private::Process to be able to handle connecting to a remote
target that isn't running a process. This leaves lldb_private::Process in the
eStateConnected state from which we can then do an attach or launch.

Modified ProcessGDBRemote to be able to set stdin, stdout, stderr, working
dir, disable ASLR and a few other settings down by using new GDB remote
packets. This allows us to keep all of our current launch flags and settings
intact and still be able to communicate them over to the remote GDB server.
Previously these were being sent as arguments to the debugserver binary that
we were spawning. Also modified ProcessGDBRemote to handle losing connection
to the remote GDB server and always exit immediately. We do this by watching
the lldb_private::Communication event bit for the read thread exiting in the
ProcessGDBRemote async thread.

Added support for many of the new 'Q' packets for setting stdin, stdout,
stderr, working dir and disable ASLR to the GDBRemoteCommunication class for
easy accesss.

Modified debugserver for all of the new 'Q' packets and also made it so that
debugserver always exists if it loses connection with the remote debugger.




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126444 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/DNBArch.cpp
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/RNBContext.h
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
ebugserver/source/debugserver.cpp
aa378b1f53f8b557ceab403e31e6c9ef9a20b77d 20-Feb-2011 Greg Clayton <gclayton@apple.com> Don't limit StreamTee to just two streams. It now can contain
N streams by making the stream a vector of stream shared pointers
that is protected by a mutex. Streams can be get/set by index which
allows indexes to be defined as stream indentifiers. If a stream is
set at index 3 and there are now streams in the collection, then
empty stream objects are inserted to ensure that stream at index 3
has a valid stream. There is also an append method that allows a stream
to be pushed onto the stack. This will allow our streams to be very
flexible in where the output goes.

Modified the CommandReturnObject to use the new StreamTee functionality.
This class now defines two StreamTee indexes: 0 for the stream string
stream, and 1 for the immediate stream. This is used both on the output
and error streams.

Added the ability to get argument types as strings or as descriptions.
This is exported through the SBCommandInterpreter API to allow external
access.

Modified the Driver class to use the newly exported argument names from
SBCommandInterpreter::GetArgumentTypeAsCString().



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126067 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
2e8cb8a7342a2ea672792067d712a794e215a3a7 19-Feb-2011 Jim Ingham <jingham@apple.com> - Changed all the places where CommandObjectReturn was exporting a StreamString to just exporting
a Stream, and then added GetOutputData & GetErrorData to get the accumulated data.
- Added a StreamTee that will tee output to two provided lldb::StreamSP's.
- Made the CommandObjectReturn use this so you can Tee the results immediately to
the debuggers output file, as well as saving up the results to return when the command
is done executing.
- HandleCommands now uses this so that if you have a set of commands that continue the target
you will see the commands come out as they are processed.
- The Driver now uses this to output the command results as you go, which makes the interface
more reactive seeming.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126015 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
75c703dd8b492bad25a987b96853626641ae7246 16-Feb-2011 Greg Clayton <gclayton@apple.com> The DynamicLoader plug-in instance now lives up in lldb_private::Process where
it should live and the lldb_private::Process takes care of managing the
auto pointer to the dynamic loader instance.

Also, now that the ArchSpec contains the target triple, we are able to
correctly set the Target architecture in DidLaunch/DidAttach in the subclasses,
and then the lldb_private::Process will find the dynamic loader plug-in
by letting the dynamic loader plug-ins inspect the arch/triple in the target.

So now the ProcessGDBRemote plug-in is another step closer to be purely
process/platform agnostic.

I updated the ProcessMacOSX and the ProcessLinux plug-ins accordingly.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125650 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
395fc33dc4b06c048ed35047ec461bc092ef2df3 15-Feb-2011 Greg Clayton <gclayton@apple.com> Made lldb_private::ArchSpec contain much more than just an architecture. It
now, in addition to cpu type/subtype and architecture flavor, contains:
- byte order (big endian, little endian)
- address size in bytes
- llvm::Triple for true target triple support and for more powerful plug-in
selection.




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125602 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
c1f4587c3cc1b6de2f59d472762e9eb16819feff 12-Feb-2011 Greg Clayton <gclayton@apple.com> Added the ability to detect which vCont packets (using the "vCont?") packet
are supported by the remote GDB target. We can also now deal with the lack of
vCont support and send packets that the remote GDB stub can use. We also error
out of the continue if LLDB tries to do something too complex when vCont isn't
supported.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125433 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBLog.cpp
f9f40c20b210eea72ab042c63178ca000f005ed9 08-Feb-2011 Jim Ingham <jingham@apple.com> Rework the RunThreadPlan event handling to use Event Hijacking not stopping the event thread. Also clarify the logic of the function.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125083 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThreadList.cpp
09c81efd010d1c9ac8821bad00cdfc9747fcae79 08-Feb-2011 Greg Clayton <gclayton@apple.com> Patch that allows for thread_t to be something more complex than an
integer. Modified patch from Kirk Beitz.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125067 91177308-0d34-0410-b5e6-96231b3b80d8
river/IOChannel.cpp
151c0eafe9eefb412026daead8ddd5ba40474991 05-Feb-2011 Greg Clayton <gclayton@apple.com> A tool for examining a mach process and its threads.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124937 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-threads/examine-threads.c
0467c78e9a75eff9ec33d3c1f39fa83e1c5d9241 04-Feb-2011 Greg Clayton <gclayton@apple.com> Applied a fix to qualify "UUID" with the lldb_private namespace to fix
build issues on MinGW.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124888 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
e71e258286a1713dbb2d366d8b81ff2f28e0216f 04-Feb-2011 Greg Clayton <gclayton@apple.com> Added support for attaching to a remote debug server with the new command:
(lldb) process connect <remote-url>

Currently when you specify a file with the file command it helps us to find
a process plug-in that is suitable for debugging. If you specify a file you
can rely upon this to find the correct debugger plug-in:

% lldb a.out
Current executable set to 'a.out' (x86_64).
(lldb) process connect connect://localhost:2345
...

If you don't specify a file, you will need to specify the plug-in name that
you wish to use:

% lldb
(lldb) process connect --plugin process.gdb-remote connect://localhost:2345

Other connection URL examples:

(lldb) process connect connect://localhost:2345
(lldb) process connect tcp://127.0.0.1
(lldb) process connect file:///dev/ttyS1

We are currently treating the "connect://host:port" as a way to do raw socket
connections. If there is a URL for this already, please let me know and we
will adopt it.

So now you can connect to a remote debug server with the ProcessGDBRemote
plug-in. After connection, it will ask for the pid info using the "qC" packet
and if it responds with a valid process ID, it will be equivalent to attaching.
If it response with an error or invalid process ID, the LLDB process will be
in a new state: eStateConnected. This allows us to then download a program or
specify the program to run (using the 'A' packet), or specify a process to
attach to (using the "vAttach" packets), or query info about the processes
that might be available.




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124846 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
17801bcb4f9ccd0bdd9cf5391e76834de593fbf3 29-Jan-2011 Greg Clayton <gclayton@apple.com> Bumped Xcode project versions to lldb-46 and debugserver-131.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124531 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
679c77b1a1956ddff405fdb6e3c40035f0cc20a7 28-Jan-2011 Jim Ingham <jingham@apple.com> The thread_info changes over the life of the thread, so you can't get it once and cache it, you have to fetch it every time you want to use it.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124463 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThread.cpp
b2b604f51ef03beb85d3c8d997ec25d85dea26fa 27-Jan-2011 Jim Ingham <jingham@apple.com> Adding a Xcode workspace for lldb.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124416 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.xcworkspace/contents.xcworkspacedata
ebugserver/debugserver.xcodeproj/xcshareddata/xcschemes/debugserver.xcscheme
river/Driver.cpp
abea3cb5d11cf88e9ed35aae610caaa389db8472 27-Jan-2011 Greg Clayton <gclayton@apple.com> Updated Xcode project versions: lldb-45 and debugserver-130



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124372 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
db2bab463047edba4b01da1fcaf70f15e778095e 27-Jan-2011 Greg Clayton <gclayton@apple.com> Finally tracked down the racy condition that would hose up our debug
sessions: When continue packet has been sent and an interrupt packet was
quickly sent, it would get read at the same time:

$c#00\x03

There was an error where the packet end index was always being computed
incorrectly by debugserver, but it wouldn't matter if there weren't extra
bytes on the end (the hex \x03 interrupt byte in this case). The first
'$' last 3 bytes of the data in the packet buffer were being trimmed
(trying to trim the '#' + checksum (#XX)) which made:

c#

And this would then be passed to the handle routine for the 'c' packet which
would see an extra character at the end and assume it was going to be in the
form c[addr] where "[addr]" was a hex address to resume at and this would
result in a malformed packet response. This is now fixed and everything works
great.

Another issue was issuing async packets correctly by doing correct handshakes
between the thread that wants to send the async packet, and the thread that
is tracking the current run.

Added a write lock to the communication class as well to make sure you never
get two threads trying to write data at the same time. This wasn't happening,
but it is a good idea to make sure it doesn't.




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124369 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
bdcb6abaa287df2c5f312c51d993c1d0b0cb120c 26-Jan-2011 Greg Clayton <gclayton@apple.com> Enabled extra warnings and fixed a bunch of small issues.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124250 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
46cd50c064711df3c688a3c3c16c0d0d5da29e49 25-Jan-2011 Johnny Chen <johnny.chen@apple.com> Trivial comment fix.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124195 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/debugserver.cpp
9d71c9599573e06643b300d83f43ee9d59fad984 25-Jan-2011 Greg Clayton <gclayton@apple.com> Bumped Xcode project versions to lldb-44 and debugserver-129.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124181 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
cc3e640a1fdfb36a6a67eb04913ba18ac4ea8e3f 25-Jan-2011 Greg Clayton <gclayton@apple.com> Reverting recent thread resume changes as it was causing testing issues.
We will need to try again soon, but this change was causing instability.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124180 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/MachThread.h
c72af6b67914810cafc34a83c403235de58d2051 25-Jan-2011 Jim Ingham <jingham@apple.com> When we are stepping a thread, force it to resume ALL the way to 0. And of course, when we stop
if we undid some user provided suspends, we need to re-do the suspends.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124178 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/MachThread.h
42ddc49f2a4b8ad5da9edb246790a52f4f194181 24-Jan-2011 Greg Clayton <gclayton@apple.com> Bumped Xcode project versions: lldb-43 and debugserver-128.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124116 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
d330bfd8c5fff8cf2f883f55fa3d2de4a305c48f 24-Jan-2011 Greg Clayton <gclayton@apple.com> One more thing... Resume any threads that we discover were created while we stop as
they may be in sensitive areas and we set breakpoints on the thread creation routines
if we are running expressions, so the threads should quickly get to a safe spot.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124115 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/MacOSX/MachThreadList.cpp
ac95966f900e8af29c25b3bd85b3d41cd4568857 24-Jan-2011 Jim Ingham <jingham@apple.com> More useful STEP logging.

Be sure to clear out the base plan's m_report_run and m_report_stop each time we resume so we don't use stale values.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124113 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
2971e7fc7ede526af9b193f8a9eb10ec4cb2bd62 24-Jan-2011 Greg Clayton <gclayton@apple.com> Discover new threads right before we continue a process since libdispatch has
been known to make threads for us while our process/task is suspended.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124111 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThreadList.cpp
9ace183f4dc5e6b6dae85ed0c197449c495007a2 24-Jan-2011 Greg Clayton <gclayton@apple.com> Added logging for threads that are spawned while we stop. We log their
existence if the "thread" log bit is enabled right before we resume.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124110 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/MacOSX/MachThreadList.h
43457c521adf1fd88bc30a99c3aed0796ede717e 24-Jan-2011 Jim Ingham <jingham@apple.com> Linebuffer the log file.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124103 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/debugserver.cpp
879bfee0ce2ddaaa50d41042002d5e38c938aed4 23-Jan-2011 Greg Clayton <gclayton@apple.com> Restored some missing APIs for the test suite. Now testsuite still has some failures
due to overloaded SBTarget::Launch() calls.

Bumping Xcode project versions: lldb-42 and debugserver-127.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124063 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
de915beb5febe597505ba33fdc2c39eea2abdbd4 23-Jan-2011 Greg Clayton <gclayton@apple.com> Added a new variant of SBTarget::Launch() that deprectates the old one that
takes separate file handles for stdin, stdout, and stder and also allows for
the working directory to be specified.

Added support to "process launch" to a new option: --working-dir=PATH. We
can now set the working directory. If this is not set, it defaults to that
of the process that has LLDB loaded. Added the working directory to the
host LaunchInNewTerminal function to allows the current working directory
to be set in processes that are spawned in their own terminal. Also hooked this
up to the lldb_private::Process and all mac plug-ins. The linux plug-in had its
API changed, but nothing is making use of it yet. Modfied "debugserver" and
"darwin-debug" to also handle the current working directory options and modified
the code in LLDB that spawns these tools to pass the info along.

Fixed ProcessGDBRemote to properly pass along all file handles for stdin, stdout
and stderr.

After clearing the default values for the stdin/out/err file handles for
process to be NULL, we had a crasher in UserSettingsController::UpdateStringVariable
which is now fixed. Also fixed the setting of boolean values to be able to
be set as "true", "yes", "on", "1" for true (case insensitive) and "false", "no",
"off", or "0" for false.

Fixed debugserver to properly handle files for STDIN, STDOUT and STDERR that are not
already opened. Previous to this fix debugserver would only correctly open and dupe
file handles for the slave side of a pseudo terminal. It now correctly handles
getting STDIN for the inferior from a file, and spitting STDOUT and STDERR out to
files. Also made sure the file handles were correctly opened with the NOCTTY flag
for terminals.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124060 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-debug/darwin-debug.cpp
ebugserver/source/DNB.cpp
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/debugserver.cpp
72e1c782ba1e4226da37af4722af608de9f39408 23-Jan-2011 Greg Clayton <gclayton@apple.com> Fixed an issue in "SBError SBProcess::Destroy ()" where it wasn't properly
checking the validity of the shared pointer prior to using it.

Fixed the GDB remote plug-in to once again watch for a reply from the "k"
packet, and fixed the logic to make sure the thread requesting the kill
and the async thread play nice (and very quickly) by synchronizing the
packet sending and reply. I also tweaked some of the shut down packet
("k" kill, "D" detach, and the halt packet) to make sure they do the right
thing.

Fixed "StateType Process::WaitForProcessStopPrivate (...)" to correctly pass
the timeout along to WaitForStateChangedEventsPrivate() and made the function
behave correctly with respect to timing out.

Added separate STDIN, STDOUT, and STDERR support to debugserver. Also added
the start of being able to set the working directory for the inferior process.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124049 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/RNBContext.cpp
ebugserver/source/RNBContext.h
ebugserver/source/RNBRemote.cpp
ebugserver/source/debugserver.cpp
a4881d04b4f367c67e34e8040e1257fc222a8b41 22-Jan-2011 Greg Clayton <gclayton@apple.com> Sped up the shutdown time on MacOSX by quite a bit by making sure any
threads that we spawn let us know when they are going away and that we
don't timeout waiting for a message from threads that have gone away.
We also now don't expect the "k" packet (kill) to send a response. This
greatly speeds up debugger shutdown performance. The test suite now runs
quite a bit faster.

Added a fix to the variable display code that fixes the display of
base classes. We were assuming the virtual or normal base class offsets
were being given in bit sizes, but they were being given as character
sizes, so we needed to multiply the offset by 8. This wasn't affecting
the expression parser, but it was affecting the correct display of C++
class base classes and all of their children.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124024 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
d5f41cad088434ac07365e11e8d83149aaba2e2a 22-Jan-2011 Jim Ingham <jingham@apple.com> Add a (currently disabled) bear trap where instead of deallocating pages, we remove all permissions.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124012 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
61468e816e879874ee8499ce5a1b4f1d6759b026 19-Jan-2011 Greg Clayton <gclayton@apple.com> Took the timeout for a ClangUserExpression down from a 10 second timeout to
500 ms.

Make MachThreadList more threadsafe.

Added code to make sure the thread register state was properly flushed for x86_64.

Fixed an missing return code for the current thread in the new thread suffix code.

Improved debugserver logging.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123815 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBBreakpoint.cpp
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/MacOSX/MachThreadList.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/RNBRemote.cpp
c71899ef308e6134d1b0ca5f30cbc64414855e1a 18-Jan-2011 Greg Clayton <gclayton@apple.com> Thread safety changes in debugserver and also in the process GDB remote plugin.
I added support for asking if the GDB remote server supports thread suffixes
for packets that should be thread specific (register read/write packets) because
the way the GDB remote protocol does it right now is to have a notion of a
current thread for register and memory reads/writes (set via the "$Hg%x" packet)
and a current thread for running ("$Hc%x"). Now we ask the remote GDB server
if it supports adding the thread ID to the register packets and we enable
that feature in LLDB if supported. This stops us from having to send a bunch
of packets that update the current thread ID to some value which is prone to
error, or extra packets.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123762 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBThreadResumeActions.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/MachThread.h
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
1364b3bb79f528aed515ad38499d3ef07469c9e5 15-Jan-2011 Greg Clayton <gclayton@apple.com> lldb-41 and debugserver-126 are set in the Xcode projects.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123513 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
7b19fc295e3a8cc46981442e0d8ae1fe38ffcc1e 10-Jan-2011 Greg Clayton <gclayton@apple.com> Bumped Xcode versions to lldb-39 and debugserver-125.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123187 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
4862fa2f3db6967464cd65a2c77b2e55de3da5ff 08-Jan-2011 Greg Clayton <gclayton@apple.com> Modified the stop reply packet to be able to send the thread name using the
new "hexname" key for the "key:value;" duple that is part of the packet. This
allows for thread names to contain special characters such as $ # : ; + -

Debugserver now detects if the thread name contains special characters and
sends the chars in hex format if needed.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123053 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
124b23a6e5cf0c5b79ad1d6bffaf1ce276ec1773 05-Jan-2011 Greg Clayton <gclayton@apple.com> Bumped versions in Xcode projects: lldb is now at lldb-38, debugserver is now
at debugserver-124.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@122897 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
a2cec4f0f4365822591ea5fc60b5bab819858792 21-Dec-2010 Greg Clayton <gclayton@apple.com> Updated Xcode build version to lldb-37 and debugserver-123.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@122308 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
3b2cfc2fb8b50ab2bdf96ad30b60ef9a5e6f541d 17-Dec-2010 Greg Clayton <gclayton@apple.com> Bumped Xcode project versions to for lldb-36 and debugserver-122.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@122061 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
4dc1892eefc8ccaceec79c09b63fa198b40b4ab9 08-Dec-2010 Greg Clayton <gclayton@apple.com> Any arguments that are not options to the "lldb" command line driver, now get
used as the arguments for the inferior program. So for example you can do

% lldb /bin/ls /tmp ~/Documents

And "lldb" will use "/bin/ls" as the program and send arguments "/tmp" and
"~/Documents" as the launch args.

If you specify a file, then all remaining args after option parsing
will be used for program arguments:

% lldb -f /bin/ls /tmp ~/Documents

If you need to pass option values to your inferior program, just terminate
the "lldb" command line driver options with "--":

% lldb -- /bin/ls -AFl /tmp

The arguments are placed into the "settings" variable named
"target.process.run-args". This allows you to just run the program using
"process launch" and, if no args are specified on that command, the
"target.process.run-args" values will be used:

% lldb -- /bin/ls -AFl /tmp
Current executable set to '/bin/ls' (x86_64).
(lldb) settings show target.process.run-args
target.process.run-args (array):
[0]: '-AFl'
[1]: '/tmp'
(lldb)
(lldb) r
Process 56753 launched: '/bin/ls' (x86_64)
lrwxr-xr-x@ 1 root wheel 11 Nov 19 2009 /tmp@ -> private/tmp



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121295 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
3355d11a95ddf94daf980db031683337bfc96d3f 08-Dec-2010 Greg Clayton <gclayton@apple.com> Bumped lldb Xcode version to 35 for lldb-35, and debugserver to 121 for
debugserver-121.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@121237 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/MacOSX/MachThread.cpp
eecb0f3b5021e37311f9588f14bcab38a35b8e9a 04-Dec-2010 Greg Clayton <gclayton@apple.com> More reverting of the EOF stuff as the API was changed which we don't want to
do. Closing on EOF is an option that can be set on the
lldb_private::Communication or the lldb::SBCommunication objects after they
are created. Of course the EOF support isn't hooked up, so they don't do
anything at the moment, but they are left in so when the code is fixed, it
will be easy to get working again.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120885 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
304fab4f9ff49c30f0bd7a4db676fabc6e464143 04-Dec-2010 Greg Clayton <gclayton@apple.com> Bumped lldb version to lldb-33 and debugserver to debugserver-120.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120864 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
638351aee118e89c658ca295cb4e9d1db7849bef 04-Dec-2010 Greg Clayton <gclayton@apple.com> Added the ability for a process to inherit the current host environment. This
was done as an settings variable in the process for now. We will eventually
move all environment stuff over to the target, but we will leave it with the
process for now. The default setting is for a process to inherit the host
environment. This can be disabled by setting the "inherit-env" setting to
false in the process.




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120862 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
bd666017403e102e0ca435d6da585ff979f83598 03-Dec-2010 Caroline Tice <ctice@apple.com> Add '-no-stdio' option to 'process launch' command, which causes the
inferior to be launched without setting up terminal stdin/stdout for it
(leaving the lldb command line accessible while the program is executing).
Also add a user settings variable, 'target.process.disable-stdio' to allow
the user to set this globally rather than having to use the command option
each time the process is launched.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120825 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/debugserver.cpp
b749a265a2b97f9cef71c362dfd6dae26c8f2973 03-Dec-2010 Greg Clayton <gclayton@apple.com> Fixed a race condition that could cause ProcessGDBRemote::DoResume() to return
an error saying the resume timed out. Previously the thread that was trying
to resume the process would eventually call ProcessGDBRemote::DoResume() which
would broadcast an event over to the async GDB remote thread which would sent the
continue packet to the remote gdb server. Right after this was sent, it would
set a predicate boolean value (protected by a mutex and condition) and then the
thread that issued the ProcessGDBRemote::DoResume() would then wait for that
condition variable to be set. If the async gdb thread was too quick though, the
predicate boolean value could have been set to true and back to false by the
time the thread that issued the ProcessGDBRemote::DoResume() checks the boolean
value. So we can't use the predicate value as a handshake. I have changed the code
over to using a Event by having the GDB remote communication object post an
event:

GDBRemoteCommunication::eBroadcastBitRunPacketSent

This allows reliable handshaking between the two threads and avoids the erroneous
ProcessGDBRemote::DoResume() errors.

Added a host backtrace service to allow in process backtraces when trying to track
down tricky issues. I need to see if LLVM has any backtracing abilities abstracted
in it already, and if so, use that, but I needed something ASAP for the current issue
I was working on. The static function is:

void
Host::Backtrace (Stream &strm, uint32_t max_frames);

And it will backtrace at most "max_frames" frames for the current thread and can be
used with any of the Stream subclasses for logging.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120793 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/DNBLog.cpp
9ac497bc11512d221b3962e4f883eeac07db188a 02-Dec-2010 Caroline Tice <ctice@apple.com> Add proper EOF handling to Communication & Connection classes:

Add bool member to Communication class indicating whether the
Connection should be closed on receiving an EOF or not. Update the
Connection read to return an EOF status when appropriate. Modify the
Communication class to pass the EOF along or not, and to close the
Connection or not, as appropriate.




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120723 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
97bd5670cdb415a95c84050c20cfacce8ed178e7 01-Dec-2010 Greg Clayton <gclayton@apple.com> Fixed 32 bit debugging after recent architecture changes to debugserver.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@120618 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/DNBArch.cpp
ebugserver/source/DNBArch.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/debugserver.cpp
c4f55fee15b66ea53da092ca50400ac5d8b0692d 19-Nov-2010 Caroline Tice <ctice@apple.com> Add the ability to catch and do the right thing with Interrupts (often control-c)
and end-of-file (often control-d).



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119837 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/IOChannel.cpp
c0c1b0c0cfd2aeaf01111762fd66e59d6273bcea 19-Nov-2010 Greg Clayton <gclayton@apple.com> Fixed an issue where the UserSettingsControllers were being created out of
order and this was causing the target, process and thread trees to not be
available.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119784 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
640dc6b983964615bcb149d7d37ee007a13fb02c 18-Nov-2010 Greg Clayton <gclayton@apple.com> Added the ability to get more information on the SBThread's stop reason
by being able to get the data count and data. Each thread stop reason
has one or more data words that can help describe the stop. To do this
I added:

size_t
SBThread::GetStopReasonDataCount();

uint64_t
SBThread::GetStopReasonDataAtIndex(uint32_t idx);




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119720 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
27eb3f7b287904f13cf18fb19f04c95f6271f336 18-Nov-2010 Greg Clayton <gclayton@apple.com> Added missing file.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119709 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/DNBArch.cpp
20d338fad87eba91de65aa9bec76e01c04472848 18-Nov-2010 Greg Clayton <gclayton@apple.com> Fixed Process::Halt() as it was broken for "process halt" after recent changes
to the DoHalt down in ProcessGDBRemote. I also moved the functionality that
was in ProcessGDBRemote::DoHalt up into Process::Halt so not every class has
to implement a tricky halt/resume on the internal state thread. The
functionality is the same as it was before with two changes:
- when we eat the event we now just reuse the event we consume when the private
state thread is paused and set the interrupted bool on the event if needed
- we also properly update the Process::m_public_state with the state of the
event we consume.

Prior to this, if you issued a "process halt" it would eat the event, not
update the process state, and then produce a new event with the interrupted
bit set and send it. Anyone listening to the event would get the stopped event
with a process that whose state was set to "running".

Fixed debugserver to not have to be spawned with the architecture of the
inferior process. This worked fine for launching processes, but when attaching
to processes by name or pid without a file in lldb, it would fail.

Now debugserver can support multiple architectures for a native debug session
on the current host. This currently means i386 and x86_64 are supported in
the same binary and a x86_64 debugserver can attach to a i386 executable.
This change involved a lot of changes to make sure we dynamically detect the
correct registers for the inferior process.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@119680 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/DNBArch.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/MachThread.h
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/MacOSX/MachThreadList.h
ebugserver/source/MacOSX/arm/DNBArchImpl.h
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/ppc/DNBArchImpl.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
ebugserver/source/debugserver.cpp
3e783a9d14726f9f3c4308c65b7aa74ed86edd0f 12-Nov-2010 Greg Clayton <gclayton@apple.com> Fixed more thread suspend/resume issues.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118877 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThread.cpp
02274ed47ccff35a64870331f6e2c88c711ca0f9 12-Nov-2010 Greg Clayton <gclayton@apple.com> Fixed an issue with the MachThread class where we might not get the initial
thread basic info state and not realize that a thread was already suspended
or if a thread was starting up and not ready to be displayed to the user
(in an uninterruptable state). If it is not user ready yet, we don't add it
to our list of threads that can be played with.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118866 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/MachThread.h
ebugserver/source/MacOSX/MachThreadList.cpp
abab5901e854c733be343fa3650082a2f8720b06 11-Nov-2010 Greg Clayton <gclayton@apple.com> Bumped Xcode versions to lldb-32 and debugserver-119.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118772 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
670c1f8af084e0c98e760a8af71a75a9388334c8 09-Nov-2010 Greg Clayton <gclayton@apple.com> Bumped versions in Xcode projects to lldb-31 and debugserver-118.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118489 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
95e33b7b4b832ff5a8dfd0720fe6a100be894df6 07-Nov-2010 Greg Clayton <gclayton@apple.com> Modified the DWARF parser for both the single DWARF file and for the case
where the DWARF is in the .o files so they can track down the actual type for
a forward declaration. This was working before for just DWARF files, but not
for DWARF in .o files where the actual definition was in another .o file.

Modified the main thread name in the driver to be more consistent with the
other LLDB thread names.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118383 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
538eb82a89a68dbc57251915080bd5152b333978 06-Nov-2010 Greg Clayton <gclayton@apple.com> Added copy constructors and assignment operators to all lldb::SB* classes
so we don't end up with weak exports with some compilers.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118312 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
91a1dabac7ef4a1c8a60dbbb8340d33b7d25f863 05-Nov-2010 Caroline Tice <ctice@apple.com> If debugserver is running on the local machine, pass it a
pseudoterminal to pass to the inferior for the inferior's I/O
(to allow direct writing, rather than passing all the I/O around
via packets).



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118308 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/debugserver.cpp
81ab6155b99e0e5f23209d4e4e4e08c30e4431bf 04-Nov-2010 Greg Clayton <gclayton@apple.com> Bumped version for lldb-29 and debugserver-116 in the Xcode projects.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118229 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
90b42255ccebbaa31e0f692c6211f7490b2da371 02-Nov-2010 Caroline Tice <ctice@apple.com> Fix problem where "process detach" was not working properly. The
ptrace thread update that was replying to the SIGSTOP was also causing the
process to not really be sigstop'd any more so then the call to ptrace
detach was failing, and when debugserver exited the attached process
was being killed. Now the ptrace thread update does not disturb the sigstop
state of the thread, so the detach works properly.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118018 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
b0f8e23d0bbe2cbc33425cb1cf9234d9dbc309b5 31-Oct-2010 Greg Clayton <gclayton@apple.com> Bumped version in Xcode project to lldb-27, and debugserver to debugserver-115.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117852 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
f3d0b0c8081691128626eb496fdfcbf8ae54c1de 27-Oct-2010 Greg Clayton <gclayton@apple.com> Updated the lldb_private::Flags class to have better method names and made
all of the calls inlined in the header file for better performance.

Fixed the summary for C string types (array of chars (with any combo if
modifiers), and pointers to chars) work in all cases.

Fixed an issue where a forward declaration to a clang type could cause itself
to resolve itself more than once if, during the resolving of the type itself
it caused something to try and resolve itself again. We now remove the clang
type from the forward declaration map in the DWARF parser when we start to
resolve it and avoid this additional call. This should stop any duplicate
members from appearing and throwing all the alignment of structs, unions and
classes.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117437 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
0561f3da5dd365d1f75c0a6888293eaf1695ccd1 26-Oct-2010 Greg Clayton <gclayton@apple.com> Fixed vAttachWait by fixing a missed "else if".



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@117395 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/RNBRemote.cpp
6bd1a9ee0dd6f3b8a6e138ca17b2f1bb75660478 19-Oct-2010 Greg Clayton <gclayton@apple.com> Fixed all known race conditions with starting a process in a new terminal.
We now spawn a thread to accept a unix socket connection from the inferior
when it spawns in the terminal, then we launch the process, then we get
the pid back through the unix socket, and then wait for it to SIGSTOP.

darwin-debug now clears the terminal screen and prints out the program and
arguments that are about to be launched.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116841 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-debug/darwin-debug.cpp
ea3259d21303612c58d4b520f1ce022abbcfd2c2 19-Oct-2010 Greg Clayton <gclayton@apple.com> Use AppleScript when lauching inferior in terminal so the command that
is being run is visible in the terminal as opposed to just seeing a path
to a .command file.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116814 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
36f63a92bae332929e1a047b59ed6df651d8537f 19-Oct-2010 Greg Clayton <gclayton@apple.com> Stop the driver from handling SIGPIPE in case we communicate with stale
sockets so the driver doesn't just crash.

Added support for connecting to named sockets (unix IPC sockets) in
ConnectionFileDescriptor.

Modified the Host::LaunchInNewTerminal() for MacOSX to return the process
ID of the inferior process instead of the process ID of the Terminal.app. This
was done by modifying the "darwin-debug" executable to connect to lldb through
a named unix socket which is passed down as an argument. This allows a quick
handshake between "lldb" and "darwin-debug" so we can get the process ID
of the inferior and then attach by process ID and avoid attaching to the
inferior by process name since there could be more than one process with
that name. This still has possible race conditions, those will be fixed
in the near future. This fixes the SIGPIPE issues that were sometimes being
seen when task_for_pid was failing.




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116792 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-debug/darwin-debug.cpp
river/Driver.cpp
3b2c41c9d12bafdad87cc271fadd1f816081b9a8 18-Oct-2010 Greg Clayton <gclayton@apple.com> Still trying to get detach to work with debugserver. Got a bit closer,
but something is still killing our inferior.

Fixed an issue with darwin-debug where it wasn't passing all needed arguments
to the inferior.

Fixed a race condition with the attach to named process code.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116697 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-debug/darwin-debug.cpp
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/MacOSX/MachThreadList.h
ebugserver/source/RNBContext.cpp
ebugserver/source/RNBRemote.cpp
c1d3775eb2494c6e88ebee44c7d49beefcb3bb6a 18-Oct-2010 Greg Clayton <gclayton@apple.com> Fixed debugserver to properly attach to a process by name with the
"vAttachName;<PROCNAME>" packet, and wait for a new process by name to launch
with the "vAttachWait;<PROCNAME>".

Fixed a few issues with attaching where if DoAttach() returned no error, yet
there was no valid process ID, we would deadlock waiting for an event that
would never happen.

Added a new "process launch" option "--tty" that will launch the process
in a new terminal if the Host layer supports the "Host::LaunchInNewTerminal(...)"
function. This currently works on MacOSX and will allow the debugging of
terminal applications that do complex operations with the terminal.

Cleaned up the output when the process resumes, stops and halts to be
consistent with the output format.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116693 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/DNB.cpp
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
24b48ff28b7c60dd4598212c3e77935a0fc1142d 18-Oct-2010 Greg Clayton <gclayton@apple.com> Added a new Host call to find LLDB related paths:

static bool
Host::GetLLDBPath (lldb::PathType path_type, FileSpec &file_spec);

This will fill in "file_spec" with an appropriate path that is appropriate
for the current Host OS. MacOSX will return paths within the LLDB.framework,
and other unixes will return the paths they want. The current PathType
enums are:

typedef enum PathType
{
ePathTypeLLDBShlibDir, // The directory where the lldb.so (unix) or LLDB mach-o file in LLDB.framework (MacOSX) exists
ePathTypeSupportExecutableDir, // Find LLDB support executable directory (debugserver, etc)
ePathTypeHeaderDir, // Find LLDB header file directory
ePathTypePythonDir // Find Python modules (PYTHONPATH) directory
} PathType;

All places that were finding executables are and python paths are now updated
to use this Host call.

Added another new host call to launch the inferior in a terminal. This ability
will be very host specific and doesn't need to be supported on all systems.
MacOSX currently will create a new .command file and tell Terminal.app to open
the .command file. It also uses the new "darwin-debug" app which is a small
app that uses posix to exec (no fork) and stop at the entry point of the
program. The GDB remote plug-in is almost able launch a process and attach to
it, it currently will spawn the process, but it won't attach to it just yet.
This will let LLDB not have to share the terminal with another process and a
new terminal window will pop up when you launch. This won't get hooked up
until we work out all of the kinks. The new Host function is:

static lldb::pid_t
Host::LaunchInNewTerminal (
const char **argv, // argv[0] is executable
const char **envp,
const ArchSpec *arch_spec,
bool stop_at_entry,
bool disable_aslr);

Cleaned up FileSpec::GetPath to not use strncpy() as it was always zero
filling the entire path buffer.

Fixed an issue with the dynamic checker function where I missed a '$' prefix
that should have been added.





git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116690 91177308-0d34-0410-b5e6-96231b3b80d8
arwin-debug/darwin-debug.cpp
ebugserver/debugserver.xcodeproj/project.pbxproj
e8a17a98577d2b144405e68a8380b3473e076d6b 16-Oct-2010 Greg Clayton <gclayton@apple.com> Fixed an issue with MachTask::TaskResume () where if the task was already
suspended, we would call "int ::task_resume (task_t task);" as many times as
it took to resume the task which isn't what we want to do.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116674 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
bd5c63ef58a9ebed5b458ddbb77eb334b84787bd 12-Oct-2010 Caroline Tice <ctice@apple.com> Fix some memory leaks.

Add call to lldb.SBDebugger.Initialize() to lldb.py, so it automatically gets called when
the lldb Python module gets loaded.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116345 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
9caa94672c3a70e76316edfd29fa52d4a1ff6729 11-Oct-2010 Greg Clayton <gclayton@apple.com> Exit if the command line is started with "--help".

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116180 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
887aa2898314218406275a34cbec30c11cd00acd 11-Oct-2010 Greg Clayton <gclayton@apple.com> Added a "--no-lldbinit" option (-n for short (which magically matches
what gdb uses)) so we can tell our "lldb" driver program to not automatically
parse any .lldbinit files.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116179 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
887eb31b1e2c9f32d3b8e2b2bacbec2bb4f20e5d 08-Oct-2010 Greg Clayton <gclayton@apple.com> Bumped versions to lldb-26 and debugserver-114 for a build.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@116019 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
5144f389f9417e106364d7fdbf5631de19ed4fe8 07-Oct-2010 Greg Clayton <gclayton@apple.com> More SWIG cleanup. Moved the breakpoint callback function back to the
ScriptInterpreterPython class and made a simple callback function that
ScriptInterpreterPython::BreakpointCallbackFunction() now calls so we don't
include any internal API stuff into the cpp file that is generated by SWIG.

Fixed a few build warnings in debugserver.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115926 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
4d6675c8e1cab6360f59865229835ae137d6f68a 01-Oct-2010 Caroline Tice <ctice@apple.com> Modify command options to use the new arguments mechanism. Now all command option
arguments are specified in a standardized way, will have a standardized name, and
have functioning help.

The next step is to start writing useful help for all the argument types.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115335 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
4b40711e7950310afb74835820eb669004cd8c44 30-Sep-2010 Greg Clayton <gclayton@apple.com> Cleaned up a unused member variable in Debugger.

Added the start of Host specific launch services, though it currently isn't
hookup up to anything. We want to be able to launch a process and use the
native launch services to launch an app like it would be launched by the
user double clicking on the app. We also eventually want to be able to run
a command line app in a newly spawned terminal to avoid terminal sharing.

Fixed an issue with the new DWARF forward type declaration stuff. A crasher
was found that was happening when trying to properly expand the forward
declarations.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115213 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
8016967553a0e818d57ce5f86230c8cee7be7ecf 30-Sep-2010 Greg Clayton <gclayton@apple.com> Retry task_for_pid a few times to avoid some cases where task_for_pid fails.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115184 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachTask.h
757500e29b7856823f2f4aedd30f206ec009147e 29-Sep-2010 Caroline Tice <ctice@apple.com> Fix various timing/threading problems in IOChannel & Driver that
were causing the prompt to be stomped on, mangled or omitted occasionally.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115059 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
river/IOChannel.cpp
river/IOChannel.h
462d4147f3bb9141bf62d904f58a623db00669df 29-Sep-2010 Greg Clayton <gclayton@apple.com> Fixed the forward declaration issue that was present in the DWARF parser after
adding methods to C++ and objective C classes. In order to make methods, we
need the function prototype which means we need the arguments. Parsing these
could cause a circular reference that caused an assertion.

Added a new typedef for the clang opaque types which are just void pointers:
lldb::clang_type_t. This appears in lldb-types.h.

This was fixed by enabling struct, union, class, and enum types to only get
a forward declaration when we make the clang opaque qual type for these
types. When they need to actually be resolved, lldb_private::Type will call
a new function in the SymbolFile protocol to resolve a clang type when it is
not fully defined (clang::TagDecl::getDefinition() returns NULL). This allows
us to be a lot more lazy when parsing clang types and keeps down the amount
of data that gets parsed into the ASTContext for each module.

Getting the clang type from a "lldb_private::Type" object now takes a boolean
that indicates if a forward declaration is ok:

clang_type_t lldb_private::Type::GetClangType (bool forward_decl_is_ok);

So function prototypes that define parameters that are "const T&" can now just
parse the forward declaration for type 'T' and we avoid circular references in
the type system.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@115012 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
fa1502444821fb699b14883bd24188c85a8793e0 28-Sep-2010 Johnny Chen <johnny.chen@apple.com> Another patch from Jean-Daniel. Thanks.

Error in dbg server -> MachProcess::SetProcessID() and misc changes to make clang++ happy.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114962 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
ebugserver/source/PseudoTerminal.h
ebugserver/source/RNBRemote.h
102f4e320581fe6647d136ce1e660b9400f92bfe 25-Sep-2010 Greg Clayton <gclayton@apple.com> Bumped Xcode lldb build number to 25 for lldb-25 and debugserver build to
113 for debugserver-113.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114777 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
238c0a1e7b733cee539258faa656159c63f9e893 18-Sep-2010 Greg Clayton <gclayton@apple.com> Fixed the way set/show variables were being accessed to being natively
accessed by the objects that own the settings. The previous approach wasn't
very usable and made for a lot of unnecessary code just to access variables
that were already owned by the objects.

While I fixed those things, I saw that CommandObject objects should really
have a reference to their command interpreter so they can access the terminal
with if they want to output usaage. Fixed up all CommandObjects to take
an interpreter and cleaned up the API to not need the interpreter to be
passed in.

Fixed the disassemble command to output the usage if no options are passed
down and arguments are passed (all disassebmle variants take options, there
are no "args only").



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114252 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
eddffe93d2c9ebb575e7b03fe1c5e71f9ecaf9f1 10-Sep-2010 Caroline Tice <ctice@apple.com> If the file the user specifies can't be found in the current directory,
and the user didn't specify a particular directory, search for the file
using the $PATH environment variable.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113575 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
b8314fe67960cfcc5d9e9232be4c1914c9ef0ce3 09-Sep-2010 Caroline Tice <ctice@apple.com> Make API calls for setting/getting user settable variables static.
Modify Driver to handle SIGWINCH signals and automatically re-set the
term-width variable.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113506 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
0a7f75f9e375911ca91a884968b0efa36f18588d 09-Sep-2010 Greg Clayton <gclayton@apple.com> Got the ARM version of debugserver up to date.

Renamed the "dispatchqaddr" setting that was coming back for stop reply packets
to be named "qaddr" so that gdb doesn't thing it is a register number. gdb
was checking the first character and assuming "di" was a hex register number
because 'd' is a hex digit. It has been shortened so gdb can safely ignore it.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113475 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/ARM_DWARF_Registers.h
ebugserver/source/ARM_GCC_Registers.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
ebugserver/source/RNBServices.cpp
ebugserver/source/debugserver.cpp
e40e76403faaf8f3c26eb95a8ee2b397987cd488 07-Sep-2010 Greg Clayton <gclayton@apple.com> Fixed a buffer overrun error that could occur every time the program was run due to a "sprintf" with a destination string that was too short.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113180 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
72f8a3c26c70393c49cdcfe9ecbbd0e44ab90e4c 07-Sep-2010 Greg Clayton <gclayton@apple.com> Fixed an error where a random string would get executed after a recent fix that checked if the window column size was zero was added on the lldb driver startup.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113179 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
6e4c5ce0f697eb9899a54854a2a9004e961b0de2 04-Sep-2010 Caroline Tice <ctice@apple.com> This is a very large commit that completely re-does the way lldb
handles user settable internal variables (the equivalent of set/show
variables in gdb). In addition to the basic infrastructure (most of
which is defined in UserSettingsController.{h,cpp}, there are examples
of two classes that have been set up to contain user settable
variables (the Debugger and Process classes). The 'settings' command
has been modified to be a command-subcommand structure, and the 'set',
'show' and 'append' commands have been moved into this sub-commabnd
structure. The old StateVariable class has been completely replaced
by this, and the state variable dictionary has been removed from the
Command Interpreter. Places that formerly accessed the state variable
mechanism have been modified to access the variables in this new
structure instead (checking the term-width; getting/checking the
prompt; etc.)

Variables are attached to classes; there are two basic "flavors" of
variables that can be set: "global" variables (static/class-wide), and
"instance" variables (one per instance of the class). The whole thing
has been set up so that any global or instance variable can be set at
any time (e.g. on start up, in your .lldbinit file), whether or not
any instances actually exist (there's a whole pending and default
values mechanism to help deal with that).




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@113041 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
1a67946295ac66ff7a8787be25d8b56f49742345 03-Sep-2010 Greg Clayton <gclayton@apple.com> Fixed a case where we might be able to acquire a mutex with a try lock and
not release it by making sure a mutex locker object is appropriately used.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112996 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
537926c76e5bc7b92ce9a74c864f1d2e2a346596 02-Sep-2010 Jim Ingham <jingham@apple.com> Move "variable list" to "frame variable"



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112782 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
452bf613496c7290c6b7a1a1eb28efbce63fd3b9 31-Aug-2010 Greg Clayton <gclayton@apple.com> Added the ability to disable ASLR (Address Space Layout Randomization). ASLR
is disabled by default, and can be enabled using:

(lldb) set disable-aslr 0



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112616 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/debugserver.cpp
74989e88af7e04f3fe0bb3a800163113d7e0ca12 30-Aug-2010 Jim Ingham <jingham@apple.com> Added a way to open the current source file & line in an external editor, and you can turn this on with:

lldb -e

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112502 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
4ead2e9a5a74f465d00b0301c165fbebf4ee4ff3 28-Aug-2010 Johnny Chen <johnny.chen@apple.com> o Exposed SBFileSpec to the Python APIs in lldb.py.

o Fixed a crasher when getting it via SBTarget.GetExecutable().

>>> filespec = target.GetExecutable()
Segmentation fault

o And renamed SBFileSpec::GetFileName() to GetFilename() to be consistent with FileSpec::GetFilename().



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112308 91177308-0d34-0410-b5e6-96231b3b80d8
river/IOChannel.cpp
c833295baeec641086f536e78050388af36784f8 26-Aug-2010 Jim Ingham <jingham@apple.com> Change "Current" as in GetCurrentThread, GetCurrentStackFrame, etc, to "Selected" i.e. GetSelectedThread. Selected makes more sense, since these are set by some user action (a selection). I didn't change "CurrentProcess" since this is always controlled by the target, and a given target can only have one process, so it really can't be selected.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@112221 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
35c0edcedb2058ca8d0758f71ce958c23836d52d 31-Jul-2010 Greg Clayton <gclayton@apple.com> Fixed debugserver to not exit when we are able to spawn the process, yet not
launch it due to not being able to get the task port. A SIGHUP was killing us
and also an error string wasn't properly being passed along. Got rid of a
class error variable that can only lead to multi-threaded crashes.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@109930 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/debugserver.cpp
7c9842487cd2a61f12669624f4ba38bb5c8617ea 28-Jul-2010 Johnny Chen <johnny.chen@apple.com> The unix "source" command maps to "command source" in lldb. :-)


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@109673 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
bef1583b89e73de77c8b0897fcf42b5b1fcabe4c 14-Jul-2010 Greg Clayton <gclayton@apple.com> I enabled some extra warnings for hidden local variables and for hidden
virtual functions and caught some things and did some general code cleanup.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@108299 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/IOChannel.cpp
980d067aa269147da6ca8e59dee583a7936af67c 13-Jul-2010 Greg Clayton <gclayton@apple.com> Patch from Jean-Daniel Dupas:

Makefile patch to explicitly use PROJ_SRC_DIR when required. It fixes
build when obj dir is not source dir.

I also fixed a build warning in ClangResultSynthesizer.cpp.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@108210 91177308-0d34-0410-b5e6-96231b3b80d8
river/Makefile
0a164a1664bce107a4049b838485863320c8292a 10-Jul-2010 Eli Friedman <eli.friedman@gmail.com> Misc warning fixes.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@108029 91177308-0d34-0410-b5e6-96231b3b80d8
river/IOChannel.cpp
26f93cead39bed47837880605ed70562e2796818 10-Jul-2010 Eli Friedman <eli.friedman@gmail.com> Make current Makefiles work on Linux (at least, they work for me). Please
tell me if this breaks anything.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@108025 91177308-0d34-0410-b5e6-96231b3b80d8
river/Makefile
54e7afa84d945f9137f9372ecde432f9e1a702fc 09-Jul-2010 Greg Clayton <gclayton@apple.com> Merged Eli Friedman's linux build changes where he added Makefile files that
enabled LLVM make style building and made this compile LLDB on Mac OS X. We
can now iterate on this to make the build work on both linux and macosx.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@108009 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/source/RNBRemote.cpp
river/Driver.cpp
river/IOChannel.cpp
river/IOChannel.h
river/Makefile
2ee73ea4ce3aa899885fa6bd7ea7119b675e982d 06-Jul-2010 Greg Clayton <gclayton@apple.com> Added "-Wparentheses" so we catch possible errors like:

if (a = 0)

instead of:

if (a == 0)

Thanks to Jean-Daniel Dupas.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@107672 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugserver.xcodeproj/project.pbxproj
e9d0df45df0ee87623985d1e59947a2ca50c14ea 02-Jul-2010 Greg Clayton <gclayton@apple.com> More leaks detection:
- fixed 3 posix spawn attributes leaks
- fixed us always leaking CXXBaseSpecifier objects when we create class
base classes. Clang apparently copies the base classes we pass in.

Fixed some code formatting in ClangASTContext.cpp.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@107459 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/source/MacOSX/MachProcess.cpp
12bec71b323dc520f0e985a86e09c4712559e115 28-Jun-2010 Greg Clayton <gclayton@apple.com> Added function name types to allow us to set breakpoints by name more
intelligently. The four name types we currently have are:

eFunctionNameTypeFull = (1 << 1), // The function name.
// For C this is the same as just the name of the function
// For C++ this is the demangled version of the mangled name.
// For ObjC this is the full function signature with the + or
// - and the square brackets and the class and selector
eFunctionNameTypeBase = (1 << 2), // The function name only, no namespaces or arguments and no class
// methods or selectors will be searched.
eFunctionNameTypeMethod = (1 << 3), // Find function by method name (C++) with no namespace or arguments
eFunctionNameTypeSelector = (1 << 4) // Find function by selector name (ObjC) names


this allows much more flexibility when setting breakoints:

(lldb) breakpoint set --name main --basename
(lldb) breakpoint set --name main --fullname
(lldb) breakpoint set --name main --method
(lldb) breakpoint set --name main --selector

The default:

(lldb) breakpoint set --name main

will inspect the name "main" and look for any parens, or if the name starts
with "-[" or "+[" and if any are found then a full name search will happen.
Else a basename search will be the default.

Fixed some command option structures so not all options are required when they
shouldn't be.

Cleaned up the breakpoint output summary.

Made the "image lookup --address <addr>" output much more verbose so it shows
all the important symbol context results. Added a GetDescription method to
many of the SymbolContext objects for the more verbose output.





git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@107075 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
63094e0bb161580564954dee512955c1c79d3476 23-Jun-2010 Greg Clayton <gclayton@apple.com> Very large changes that were needed in order to allow multiple connections
to the debugger from GUI windows. Previously there was one global debugger
instance that could be accessed that had its own command interpreter and
current state (current target/process/thread/frame). When a GUI debugger
was attached, if it opened more than one window that each had a console
window, there were issues where the last one to setup the global debugger
object won and got control of the debugger.

To avoid this we now create instances of the lldb_private::Debugger that each
has its own state:
- target list for targets the debugger instance owns
- current process/thread/frame
- its own command interpreter
- its own input, output and error file handles to avoid conflicts
- its own input reader stack

So now clients should call:

SBDebugger::Initialize(); // (static function)

SBDebugger debugger (SBDebugger::Create());
// Use which ever file handles you wish
debugger.SetErrorFileHandle (stderr, false);
debugger.SetOutputFileHandle (stdout, false);
debugger.SetInputFileHandle (stdin, true);

// main loop

SBDebugger::Terminate(); // (static function)

SBDebugger::Initialize() and SBDebugger::Terminate() are ref counted to
ensure nothing gets destroyed too early when multiple clients might be
attached.

Cleaned up the command interpreter and the CommandObject and all subclasses
to take more appropriate arguments.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@106615 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
river/IOChannel.cpp
41313fcfe1dac69ea33cc835c5eff28262e5cc04 18-Jun-2010 Jim Ingham <jingham@apple.com> Move the "status" command to "process status" since that's where it belongs. Also make it print "running" if invoked
when the current process is running.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@106265 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
34e9a98dcff785b0693594b6d6753f560abf8be2 15-Jun-2010 Jim Ingham <jingham@apple.com> Change the Options parser over to use a mask rather than an ordinal for option sets.
Fixed the Disassemble arguments so you can't specify start address or name in multiple ways.
Fixed the command line input so you can specify the filename without "-f" even if you use other options.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@106020 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
ef2bc8787c6b12bd69dc45dd38ab2f1eb2673778 13-Jun-2010 Eli Friedman <eli.friedman@gmail.com> Make getopt() use portable to Linux.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105922 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
dea5ea78ef9bf371a0d19590c6b7c6989cba9a89 09-Jun-2010 Jason Molenda <jmolenda@apple.com> Move source/Utility/PseudoTerminal.h into include/lldb/Utility.
The top of the header file seems to indicate that this was
intended to be over at include/lldb/Core but we should be in line
with the .cpp file's location so it's include/lldb/Utility for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105753 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.h
d6e167d0fe8666347554226424bb39e36686e0d6 09-Jun-2010 Eli Friedman <eli.friedman@gmail.com> Add a few more missing includes.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105743 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/IOChannel.cpp
f2f321d826c21c674ca5787b18e8b3e0edaa214b 09-Jun-2010 Eli Friedman <eli.friedman@gmail.com> Misc minor warning/error fixes.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105720 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.cpp
river/Driver.h
river/IOChannel.cpp
fdd10d62bb2c1ccaf348015daae5e72d39fe19a6 09-Jun-2010 Eli Friedman <eli.friedman@gmail.com> And part two of two of fixing includes; somehow I thought the problem was more
widespread than it was.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105689 91177308-0d34-0410-b5e6-96231b3b80d8
river/Driver.h
24943d2ee8bfaa7cf5893e4709143924157a5c1e 08-Jun-2010 Chris Lattner <sabre@nondot.org> Initial checkin of lldb code from internal Apple repo.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105619 91177308-0d34-0410-b5e6-96231b3b80d8
ebugserver/debugnub-exports
ebugserver/debugserver.xcodeproj/project.pbxproj
ebugserver/resources/lldb-debugserver-Info.plist
ebugserver/resources/lldb-debugserver-entitlements.plist
ebugserver/scripts/dbgnub-config.pl
ebugserver/source/ChangeLog
ebugserver/source/DNB.cpp
ebugserver/source/DNB.h
ebugserver/source/DNBArch.h
ebugserver/source/DNBBreakpoint.cpp
ebugserver/source/DNBBreakpoint.h
ebugserver/source/DNBDataRef.cpp
ebugserver/source/DNBDataRef.h
ebugserver/source/DNBDefs.h
ebugserver/source/DNBError.cpp
ebugserver/source/DNBError.h
ebugserver/source/DNBLog.cpp
ebugserver/source/DNBLog.h
ebugserver/source/DNBRegisterInfo.cpp
ebugserver/source/DNBRegisterInfo.h
ebugserver/source/DNBRuntimeAction.h
ebugserver/source/DNBThreadResumeActions.cpp
ebugserver/source/DNBThreadResumeActions.h
ebugserver/source/DNBTimer.h
ebugserver/source/FunctionProfiler.cpp
ebugserver/source/FunctionProfiler.h
ebugserver/source/MacOSX/CFBundle.cpp
ebugserver/source/MacOSX/CFBundle.h
ebugserver/source/MacOSX/CFData.cpp
ebugserver/source/MacOSX/CFData.h
ebugserver/source/MacOSX/CFString.cpp
ebugserver/source/MacOSX/CFString.h
ebugserver/source/MacOSX/CFUtils.h
ebugserver/source/MacOSX/MachDYLD.cpp
ebugserver/source/MacOSX/MachDYLD.h
ebugserver/source/MacOSX/MachException.cpp
ebugserver/source/MacOSX/MachException.h
ebugserver/source/MacOSX/MachProcess.cpp
ebugserver/source/MacOSX/MachProcess.h
ebugserver/source/MacOSX/MachTask.cpp
ebugserver/source/MacOSX/MachTask.h
ebugserver/source/MacOSX/MachThread.cpp
ebugserver/source/MacOSX/MachThread.h
ebugserver/source/MacOSX/MachThreadList.cpp
ebugserver/source/MacOSX/MachThreadList.h
ebugserver/source/MacOSX/MachVMMemory.cpp
ebugserver/source/MacOSX/MachVMMemory.h
ebugserver/source/MacOSX/MachVMRegion.cpp
ebugserver/source/MacOSX/MachVMRegion.h
ebugserver/source/MacOSX/arm/DNBArchImpl.cpp
ebugserver/source/MacOSX/arm/DNBArchImpl.h
ebugserver/source/MacOSX/dbgnub-mig.defs
ebugserver/source/MacOSX/i386/DNBArchImplI386.cpp
ebugserver/source/MacOSX/i386/DNBArchImplI386.h
ebugserver/source/MacOSX/ppc/DNBArchImpl.cpp
ebugserver/source/MacOSX/ppc/DNBArchImpl.h
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.cpp
ebugserver/source/MacOSX/x86_64/DNBArchImplX86_64.h
ebugserver/source/PThreadCondition.h
ebugserver/source/PThreadEvent.cpp
ebugserver/source/PThreadEvent.h
ebugserver/source/PThreadMutex.cpp
ebugserver/source/PThreadMutex.h
ebugserver/source/ProfileObjectiveC.cpp
ebugserver/source/ProfileObjectiveC.h
ebugserver/source/PseudoTerminal.cpp
ebugserver/source/PseudoTerminal.h
ebugserver/source/RNBContext.cpp
ebugserver/source/RNBContext.h
ebugserver/source/RNBDefs.h
ebugserver/source/RNBRemote.cpp
ebugserver/source/RNBRemote.h
ebugserver/source/RNBServices.cpp
ebugserver/source/RNBServices.h
ebugserver/source/RNBSocket.cpp
ebugserver/source/RNBSocket.h
ebugserver/source/SysSignal.cpp
ebugserver/source/SysSignal.h
ebugserver/source/TTYState.cpp
ebugserver/source/TTYState.h
ebugserver/source/com.apple.debugserver.applist.plist
ebugserver/source/com.apple.debugserver.plist
ebugserver/source/debugserver-entitlements.plist
ebugserver/source/debugserver.cpp
river/Driver.cpp
river/Driver.h
river/IOChannel.cpp
river/IOChannel.h
river/lldb-Info.plist