summaryrefslogtreecommitdiffstats
path: root/lldb/tools/debugserver/source
Commit message (Collapse)AuthorAgeFilesLines
...
* Add two additional DNBLog's in places where we're about to killJason Molenda2013-03-232-0/+2
| | | | | | | | off the inferior process so we stand a better chance of understanding what caused us to send a PT_KILL. <rdar://problem/12720340> llvm-svn: 177817
* Change debugserver to open the socket it listensJason Molenda2013-03-233-10/+22
| | | | | | | | | | | | | | | 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> llvm-svn: 177790
* Simplify the logic for DNBDataRef::ValidOffsetForDataOfSize() and ↵Greg Clayton2013-03-211-2/+16
| | | | | | DNBDataRef::ValidOffset() functions. llvm-svn: 177615
* <rdar://problem/13100435>Han Ming Ong2013-03-151-4/+1
| | | | | | Don't discount regions that vmmap is not discounting. llvm-svn: 177202
* <rdar://problem/13415471>Han Ming Ong2013-03-131-6/+6
| | | | | | Don't get dirty page size if we are not going to send it back llvm-svn: 176992
* <rdar://problem/13396207>Greg Clayton2013-03-131-2/+2
| | | | | | 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. llvm-svn: 176960
* Various fixes for armv7 floating point/vector register support.Jason Molenda2013-03-134-231/+409
| | | | | | | | | | | | | 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> llvm-svn: 176915
* Remove use of the ARMDisassembler framework fromJason Molenda2013-03-092-1427/+0
| | | | | | | | DNBArchImplARM. This framework is no longer around; all armv7 devices support using hardware breakpoints to instruction single step. llvm-svn: 176761
* <rdar://problem/13338758>Han Ming Ong2013-03-0410-100/+196
| | | | | | | 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. llvm-svn: 176451
* Add the standard LLVM copyright notice to the top ofJason Molenda2013-03-012-7/+16
| | | | | | these two new files. llvm-svn: 176312
* Add the libdebugserver.cpp for creating a library that does debugserverJason Molenda2013-02-282-0/+403
| | | | | | | work. There isn't any target in the xcode project file which will build this yet. llvm-svn: 176234
* Fix one remaining mach port number/globally unique thread ID mixup which ↵Jason Molenda2013-02-263-3/+20
| | | | | | | | prevented queue names from being fetched correctly. <rdar://problem/13290877> llvm-svn: 176141
* <rdar://problem/13282582>Han Ming Ong2013-02-261-2/+5
| | | | | | Really don't call sysctl again when we already have the result. llvm-svn: 176062
* Add a log line when debugserver exits, and clean up some of the other ↵Jim Ingham2013-02-251-8/+14
| | | | | | standard logs output to make it more useful. llvm-svn: 176039
* <rdar://problem/13282582>Han Ming Ong2013-02-251-1/+9
| | | | | | Need available CPU on target device to support CPU reporting. llvm-svn: 176008
* <rdar://problem/13277100>Han Ming Ong2013-02-221-0/+12
| | | | | | Need host_statistics on profile data to get host's user/system/idle clicks llvm-svn: 175928
* Remove unintended comment.Jason Molenda2013-02-221-2/+0
| | | | llvm-svn: 175873
* Change debugserver from using the mach port number (in debugserver'sJason Molenda2013-02-2214-107/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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> llvm-svn: 175870
* <rdar://problem/13259230>Han Ming Ong2013-02-211-1/+6
| | | | | | Remember to set m_profile_thread to NULL once the profile thread is turned off. llvm-svn: 175761
* Get rid of a warning.Greg Clayton2013-02-161-1/+1
| | | | llvm-svn: 175337
* <rdar://problem/12693921>Greg Clayton2013-02-142-6/+6
| | | | | | Rename the monitor command from "qCmd" (incorrect) to "qRcmd". llvm-svn: 175191
* Added support for the qCmd monitor packet command. Currently it can only do:Greg Clayton2013-02-024-3/+139
| | | | | | | | | set logfile=<path> set logmask=<num> But this opens the door for us to do much more. llvm-svn: 174258
* <rdar://13073234>Han Ming Ong2013-01-251-6/+5
| | | | | | Get the number of threads correct. llvm-svn: 173466
* <rdar://problem/13069948>Greg Clayton2013-01-251-99/+0
| | | | | | | | | | | | 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. llvm-svn: 173463
* Don't listen for EXC_RESOURCE exceptions, those should really be handled by ↵Jim Ingham2013-01-241-1/+12
| | | | | | | | the system handler. Also put in string translations for a couple of exceptions we were missing. llvm-svn: 173390
* Remove a compile time warning in RNBRemote::HandlePacket_qProcessInfoJason Molenda2013-01-231-2/+1
| | | | | | for non-x86 builds. llvm-svn: 173226
* Change the container-regs kv pair in the qRegsiterInfoJason Molenda2013-01-231-1/+1
| | | | | | | | | | 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. llvm-svn: 173225
* Changed the register number lists for the qRegisterInfo packet response to ↵Greg Clayton2013-01-211-1/+1
| | | | | | be raw hex to match all other register reading and writing APIs. llvm-svn: 173105
* Added all of the 16 and 8 bit register variants for i386.Greg Clayton2013-01-213-96/+174
| | | | | | Modified the ARM register context to invalidate r8 - r14 when the CPSR register is modified. llvm-svn: 173104
* <rdar://problem/13020634>Greg Clayton2013-01-213-92/+262
| | | | | | | | | | 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. llvm-svn: 173096
* <rdar://problem/12976277>Han Ming Ong2013-01-181-2/+1
| | | | | | 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. llvm-svn: 172869
* <rdar://problem/12243932> Jason Molenda2013-01-182-5/+21
| | | | | | | Change RNBSocket from using lockdown's lockdown_secure_checkin() function to using lockdown's secure_lockdown_checkin() function. llvm-svn: 172775
* Add one more bit of logging for armv7 watchpoint debugging.Jason Molenda2013-01-171-0/+2
| | | | llvm-svn: 172702
* <rdar://problem/13019628>Han Ming Ong2013-01-166-12/+12
| | | | | | Prevent profiling from working on older debugserver. Just a simple renaming since the caller is prepared to handle the ‘unimplemented’ answer. llvm-svn: 172583
* Add a few other missing LOG_ types to set_logging() in RNBRemote.cpp;Jason Molenda2013-01-151-10/+37
| | | | | | | 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. llvm-svn: 172494
* Fix a logic error in the condition for a warning log message.Jim Ingham2013-01-142-2/+2
| | | | llvm-svn: 172442
* Recognize LOG_WATCHPOINTS in the QSetLogging gdb-remote packet.Jason Molenda2013-01-121-0/+5
| | | | llvm-svn: 172311
* Use a more unique end delimiter. In any case, the thread names are hexified ↵Han Ming Ong2013-01-101-1/+1
| | | | | | when returning to lldb. llvm-svn: 172021
* <rdar://problem/12975489>Han Ming Ong2013-01-091-6/+5
| | | | | | | 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. llvm-svn: 172012
* <rdar://problem/12602653> Jason Molenda2013-01-052-0/+4
| | | | | | | | | | | | 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. llvm-svn: 171606
* <rdar://problem/11961650> Jason Molenda2012-12-191-17/+45
| | | | | | | | | | | | | | | | | 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. llvm-svn: 170491
* Add a new qProcessInfo packet to debugserver.Jason Molenda2012-12-182-0/+81
| | | | | | | | | 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. llvm-svn: 170409
* <rdar://problem/12890948>Han Ming Ong2012-12-171-11/+16
| | | | | | Send thread name using hex encoding. llvm-svn: 170370
* <rdar://problem/12890901>Han Ming Ong2012-12-171-22/+41
| | | | | | Capturing thread name during profiling. llvm-svn: 170312
* Get rid of a warning where functions in DNB.h were extern "C" when they ↵Greg Clayton2012-12-041-8/+0
| | | | | | don't need to be anymore. llvm-svn: 169202
* <rdar://problem/12780259>Han Ming Ong2012-11-297-33/+31
| | | | | | | 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. llvm-svn: 168948
* Correct the label for the com.apple.debugserver.posix plist.Jason Molenda2012-11-291-1/+1
| | | | | | <rdar://problem/12769073> llvm-svn: 168834
* <rdar://problem/12759744> Provide physical memory distribution as part of ↵Han Ming Ong2012-11-273-9/+146
| | | | | | | | profile data Make use of unix system calls to provide physical memory usage profile data. llvm-svn: 168720
* Han Ming's commit in r168228 had a bunch of 4-space tabsJason Molenda2012-11-173-137/+137
| | | | | | | in the source files. Expand to spaces. No content changes, just whitespace. llvm-svn: 168238
* Follow up on <rdar://12720514>. Removed commented out code.Han Ming Ong2012-11-171-10/+0
| | | | llvm-svn: 168232
OpenPOWER on IntegriCloud