Commit Graph

255 Commits

Author SHA1 Message Date
Johnny Chen
847075607f 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.

llvm-svn: 157858
2012-06-01 23:43:05 +00:00
Johnny Chen
e48fb7d732 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.
llvm-svn: 157778
2012-05-31 23:02:30 +00:00
Filipe Cabecinhas
970c6f39da Make dbgnub-config.pl work with multiline env vars.
llvm-svn: 157664
2012-05-30 00:44:14 +00:00
Johnny Chen
6463720505 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.

llvm-svn: 157345
2012-05-23 21:09:52 +00:00
Jason Molenda
3bcf4b5cc7 Bump debugserver version # to 187.
llvm-svn: 156888
2012-05-16 00:40:45 +00:00
Jason Molenda
94379541e2 Change lockdown API use in RNBSocket::ConnectToService.
<rdar://problem/10800927> 

llvm-svn: 156883
2012-05-16 00:36:21 +00:00
Johnny Chen
bbc00939f2 Sanity check the return value from SBSCopyApplicationDisplayIdentifiers() before calling CFArrayGetCount() on it.
rdar://problem/11331867

llvm-svn: 156562
2012-05-10 19:24:41 +00:00
Greg Clayton
7051231709 <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.

llvm-svn: 156354
2012-05-08 01:45:38 +00:00
Jim Ingham
64e7ead1d8 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.

llvm-svn: 156101
2012-05-03 21:19:36 +00:00
Greg Clayton
caca09b628 Patch from Filipe Cabecinhas.
llvm-svn: 155641
2012-04-26 17:11:01 +00:00
Greg Clayton
7afbe07a0d Patch from Filipe Cabecinhas.
llvm-svn: 155640
2012-04-26 17:09:38 +00:00
Jim Ingham
5d2735e502 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

llvm-svn: 155560
2012-04-25 17:45:26 +00:00
Greg Clayton
4463399b0d 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. 

llvm-svn: 154380
2012-04-10 03:22:03 +00:00
Greg Clayton
3c18cd3de1 Fixed the C++11 #defines that wrap std::weak_ptr to actually use std::weak_ptr.
llvm-svn: 154041
2012-04-04 20:03:33 +00:00
Sean Callanan
139656580f Updating Xcode project version numbers for lldb-137 and debugserver-186
llvm-svn: 153823
2012-04-01 06:36:59 +00:00
Sean Callanan
e41438ca8b Updating Xcode project version numbers for lldb-136 and debugserver-185
llvm-svn: 153630
2012-03-29 02:40:34 +00:00
Jason Molenda
03c970e2fe Bump version to debugserver-184, lldb-135.
llvm-svn: 153374
2012-03-24 04:05:56 +00:00
Jason Molenda
91fe8072ab Small tweak to list of arches to build debugserver for on arm.
llvm-svn: 153371
2012-03-24 03:51:07 +00:00
Johnny Chen
760c54e640 Fix a typo.
llvm-svn: 153301
2012-03-23 01:28:19 +00:00
Johnny Chen
3f8140a6d8 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.

llvm-svn: 153300
2012-03-23 01:24:52 +00:00
Greg Clayton
aaaec7cf1f Bumped Xcode project versions for lldb-134 and debugserver-183.
llvm-svn: 153298
2012-03-23 01:04:39 +00:00
Johnny Chen
d45a9c32c2 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

llvm-svn: 153273
2012-03-22 20:04:07 +00:00
Johnny Chen
8c9739eeda Fixed a bug with the r153228 check-in earlier today in that the cached watchpoint
member variables were not reset appropriately.

llvm-svn: 153239
2012-03-22 05:10:43 +00:00
Johnny Chen
7cb09b61b2 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

llvm-svn: 153228
2012-03-22 00:08:13 +00:00
Jason Molenda
be55f383f0 Bump to lldb-133.
Remove unused entitlements plist from debugserver.

llvm-svn: 152973
2012-03-17 03:27:04 +00:00
Johnny Chen
e025e30a0e Fix FRAMEWORK_SEARCH_PATHS for iOS builds.
llvm-svn: 152948
2012-03-16 21:25:14 +00:00
Sean Callanan
9f9ab86581 Updating Xcode project version numbers for lldb-132 and debugserver-182
llvm-svn: 152901
2012-03-16 06:05:58 +00:00
Sean Callanan
cc5039dd9e Updating Xcode project version numbers for lldb-131 and debugserver-181
llvm-svn: 152726
2012-03-14 17:15:39 +00:00
Greg Clayton
d64afba584 <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++.

llvm-svn: 152698
2012-03-14 03:07:05 +00:00
Jason Molenda
64cab1220a bump to debugserver-180
llvm-svn: 152687
2012-03-14 00:00:36 +00:00
Jason Molenda
9514fa3d39 On iOS builds, install debugserver in /Developer/usr/bin.
Also add a copy files phase for -target ios that installs
the debugserver launch plists.

llvm-svn: 152680
2012-03-13 23:29:39 +00:00
Jason Molenda
08441ba45e 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.

llvm-svn: 152671
2012-03-13 21:10:35 +00:00
Greg Clayton
9096603ae1 Bumped Xcode project versions for lldb-129 and debugserver-179.
llvm-svn: 152606
2012-03-13 02:26:21 +00:00
Jason Molenda
0c482971e4 version bump to 178
llvm-svn: 152602
2012-03-13 02:12:55 +00:00
Jason Molenda
d60205e68e Don't SKIP_INSTALL for sdk==iOS, install in to /usr/local/bin for now.
llvm-svn: 152601
2012-03-13 01:56:24 +00:00
Jason Molenda
16d7581fdb Pull in another plist from the old debugserver project.
Switch default compiler to clang.

llvm-svn: 152600
2012-03-13 01:23:54 +00:00
Greg Clayton
701a6b473d <rdar://problem/11030692>
SBProcess::PutSTDIN() was not working for a few builds on darwin when using debugserver. This is now fixed.

llvm-svn: 152569
2012-03-12 19:02:41 +00:00
Jason Molenda
5a37223ece Bump debugserver version to 177.
llvm-svn: 152464
2012-03-10 01:09:40 +00:00
Jason Molenda
bdf4161ab7 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>

llvm-svn: 152463
2012-03-10 01:09:05 +00:00
Jim Ingham
329617a80a Make debugserver quieter about memory read errors.
<rdar://problem/10681220>

llvm-svn: 152438
2012-03-09 21:09:42 +00:00
Greg Clayton
b5225c863c Bumping Xcode project versions for lldb-126 and debugserver-176.
llvm-svn: 152383
2012-03-09 04:31:35 +00:00
Greg Clayton
ef5a7b1c36 Bumping Xcode project version for lldb-124 and debugserver-175.
llvm-svn: 152294
2012-03-08 04:15:20 +00:00
Greg Clayton
85f3fa5411 <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.

llvm-svn: 152291
2012-03-08 03:27:27 +00:00
Greg Clayton
6a820b624b Bumping Xcode project versions for lldb-123 and debugserver-174.
llvm-svn: 152103
2012-03-06 04:02:03 +00:00
Greg Clayton
9845a8d54d <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).

llvm-svn: 152102
2012-03-06 04:01:04 +00:00
Greg Clayton
6a1edd70cf Bumped project Xcode project version for lldb-122 and debugserver-173.
llvm-svn: 152088
2012-03-06 01:36:31 +00:00
Greg Clayton
e16e2d02ea <rdar://problem/10986692>
Safeguard against building on next OS and run on current OS.

llvm-svn: 152077
2012-03-06 00:24:17 +00:00
Greg Clayton
ba3c8df4d9 Bumped Xcode project versions for lldb-121 and debugserver-172
llvm-svn: 151948
2012-03-02 22:36:23 +00:00
Greg Clayton
4a49a1ff7a Bumping Xcode project versions for lldb-120 and debugserver-171.
llvm-svn: 151924
2012-03-02 17:44:37 +00:00
Greg Clayton
29c5e5bb7d Bumped Xcode project version for lldb-119 and debugserver-170.
llvm-svn: 151836
2012-03-01 21:07:11 +00:00