summaryrefslogtreecommitdiffstats
path: root/lldb/source
Commit message (Collapse)AuthorAgeFilesLines
* Switch nearly all of the use of the UnwindPlan::Row's to go throughJason Molenda2012-07-1410-132/+181
| | | | | | | | | | | | | | a shared pointer to ease some memory management issues with a patch I'm working on. The main complication with using SPs for these objects is that most methods that build up an UnwindPlan will construct a Row to a given instruction point in a function, then add additional regsaves in the next instruction point to that row and push it again. A little care is needed to not mutate the previous instruction point's Row once these are switched to being held behing shared pointers. llvm-svn: 160214
* Bump to lldb-162 / debugserver-189.Jason Molenda2012-07-142-2/+2
| | | | llvm-svn: 160212
* <rdar://problem/11870357>Greg Clayton2012-07-1411-91/+230
| | | | | | Allow "frame variable" to find ivars without the need for "this->" or "self->". llvm-svn: 160211
* Fixing a buildbot issue in GDBRemoteCommunicationServer due to an undefined ↵Enrico Granata2012-07-131-1/+1
| | | | | | constant in latest commit llvm-svn: 160208
* <rdar://problem/11782789> Changes to the watchpoint implementation on ARM so ↵Enrico Granata2012-07-136-0/+88
| | | | | | 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. llvm-svn: 160199
* Revert the change I committed yesterday, it caused a regressionJason Molenda2012-07-131-14/+0
| | | | | | | with one armv7 unwind. I'll look at updating this or finding a different way of fixing it later tonight. llvm-svn: 160198
* Be a little more safe when checking whether theSean Callanan2012-07-131-1/+1
| | | | | | | | | | | current symbol context is a C++ or Objective-C instance method. Specifically, ensure that we fetch information on the current block, not just the current function. llvm-svn: 160195
* Add accessors on process to get & set the selected thread by IndexID (useful ↵Jim Ingham2012-07-131-0/+47
| | | | | | since that's the one that "thread list" shows and it won't get reused even if the underlying system thread ID gets reused. llvm-svn: 160187
* Updated LLVM and added a fix to LLDB which allowsSean Callanan2012-07-131-5/+12
| | | | | | | | | LLDB to distinguish between multiple anonymous structs/unions in the same class. <rdar://problem/11466212> llvm-svn: 160186
* <rdar://problem/11773899> Formatters for BOOL* and BOOL&Enrico Granata2012-07-131-2/+14
| | | | llvm-svn: 160181
* <rdar://problem/11628688> Making sure to use the ostype format for OSType valuesEnrico Granata2012-07-131-0/+11
| | | | llvm-svn: 160180
* Resolve source paths that start with ~ when doing substitutions.Greg Clayton2012-07-132-1/+7
| | | | llvm-svn: 160158
* Make the setting for "target.process.thread.step-avoid-regexp" work for ↵Greg Clayton2012-07-131-5/+4
| | | | | | inlined functions, not just concrete top level functions. llvm-svn: 160151
* When parsing the epilogue of a thumbv2 function, when we see theJason Molenda2012-07-121-0/+14
| | | | | | | | frame pointer overwritten with the caller's fp value, return to expressing the CFA in terms of the stack pointer. <rdar://problem/11855862> llvm-svn: 160150
* Unify how we get host version on Mac OS X & iOS.Jim Ingham2012-07-121-43/+57
| | | | | | | | | Also remove our dependency on UIKit & AppKit. Cleaned up the project files a bit. <rdar://problem/11814498> llvm-svn: 160147
* <rdar://problem/11740973>Greg Clayton2012-07-123-59/+48
| | | | | | Fixed issues that could happen when the UUID doesn't change in a binary and old stale debug info could end up being used. llvm-svn: 160145
* Added a check to the Section to make sure we don'tSean Callanan2012-07-121-0/+5
| | | | | | | | return sections that don't have valid modules. <rdar://problem/11605824> llvm-svn: 160141
* <rdar://problem/11791234>Greg Clayton2012-07-123-43/+46
| | | | | | | | | | Fixed a case where the python interpreter could end up holding onto a previous lldb::SBProcess (probably in lldb.process) when run under Xcode. Prior to this fix, the lldb::SBProcess held onto a shared pointer to a lldb_private::Process. This in turn could cause the process to still have a thread list with stack frames. The stack frames would have module shared pointers in the lldb_private::SymbolContext objects. We also had issues with things staying in the shared module list too long when we found things by UUID (we didn't remove the out of date ModuleSP from the global module cache). Now all of this is fixed and everything goes away between runs. llvm-svn: 160140
* Blacklisted a UUID that is generated by OpenCL onSean Callanan2012-07-121-0/+13
| | | | | | | | | | Mac OS X, because the UUID is the same for all OpenCL-generated dylibs and therefore would conflict. <rdar://problem/11620586> llvm-svn: 160135
* Provide more information when process launch can't change directory to theFilipe Cabecinhas2012-07-121-1/+10
| | | | | | | | path passed with -w Test this functionality. llvm-svn: 160130
* Add a command channel to wait on along with the file descriptor the ↵Jim Ingham2012-07-121-52/+103
| | | | | | | | ConnectionFileDescriptor class is managing, so we can always pop ourselves out of our select call regardless of how well behaved the channel we are talking to is. <rdar://problem/11448282> llvm-svn: 160100
* Added a mutex to the call frame info to guardSean Callanan2012-07-121-1/+6
| | | | | | | | generation of the FDE index. <rdar://problem/11813705> llvm-svn: 160099
* Add a new 'target modules show-unwind' command to show the differentJason Molenda2012-07-122-0/+262
| | | | | | | | | | | | UnwindPlans for a function. This specifically does not use any previously-generated UnwindPlans so if any logging is performed while creating the UnwindPlans, it will be repeated. This is useful for when an lldb stack trace is not correct and you want to gather diagnostic information from the user -- they can do log enable -v lldb unwind, image show-unwind of the function, and you'll get the full logging as the UnwindPlans are recreated. llvm-svn: 160095
* Removed unused variable to quiet a warning.Greg Clayton2012-07-111-1/+0
| | | | llvm-svn: 160086
* Modifying the "address" format, which prints a pointer and a description of ↵Greg Clayton2012-07-112-9/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | what it points to, to detect when the deref of that pointer points to something valid. So if you have: % cat sp.cpp #include <tr1/memory> class A { public: A (): m_i (12) {} virtual ~A() {} private: int m_i; }; int main (int argc, char const *argv[], char const *envp[]) { A *a_pointers[2] = { NULL, NULL }; A a1; A a2; a_pointers[0] = &a1; a_pointers[1] = &a2; return 0; } And you stop at the "return 0", you can now read memory using the "address" format and see: (lldb) memory read --format address `&a_pointers` 0x7fff5fbff870: 0x00007fff5fbff860 -> 0x00000001000010b0 vtable for A + 16 0x7fff5fbff878: 0x00007fff5fbff850 -> 0x00000001000010b0 vtable for A + 16 0x7fff5fbff880: 0x00007fff5fbff8d0 0x7fff5fbff888: 0x00007fff5fbff8c0 0x7fff5fbff890: 0x0000000000000001 0x7fff5fbff898: 0x36d54c275add2294 0x7fff5fbff8a0: 0x00007fff5fbff8b0 0x7fff5fbff8a8: 0x0000000100000bb4 a.out`start + 52 Note the extra dereference that was applied to 0x00007fff5fbff860 and 0x00007fff5fbff850 so we can see that these are "A" classes. llvm-svn: 160085
* If we hit a breakpoint but there's a thread specifier which doesn't match ↵Jim Ingham2012-07-111-8/+14
| | | | | | this thread, return no stop reason. llvm-svn: 160080
* Don't call DoOnRemoval if you are just peeking at events.Jim Ingham2012-07-111-1/+5
| | | | llvm-svn: 160079
* Fixed a bug that caused the Process not to rebroadcastSean Callanan2012-07-111-431/+450
| | | | | | | | | | | | | | the fact that a process exited while running a thread plan. For example, if a user types the expression expr (void)exit(0) then the process terminates but LLDB does not notify listeners like Xcode that this occurred. <rdar://problem/11845155> llvm-svn: 160077
* Fixed an issue where if you ask to search the global list of modules for a ↵Greg Clayton2012-07-111-21/+22
| | | | | | module with "target modules list", if it found a match in the current target, it would skip looking at the global list. Now if you ask for the global list, we use it and skip the target. llvm-svn: 160072
* <rdar://problem/11852100>Greg Clayton2012-07-115-72/+58
| | | | | | The "stop-line-count-after" and "stop-line-count-before" settings are broken. This fixes them. llvm-svn: 160071
* Fixed a hang which causes LLDB to enter an infiniteSean Callanan2012-07-101-4/+37
| | | | | | | | | | | | | loop if "memory read" is run with the -t option and the type name contains a keyword like "struct" that isn't followed by a space. Now if a keyword isn't followed by a space we continue searching after it, instead of at the beginning of the type name. Also optimized the code to not call strlen() on a fixed set of statically-declared constant strings. llvm-svn: 160016
* Turning the interpreter mutex into a static global to avoid a potential ↵Enrico Granata2012-07-101-2/+2
| | | | | | leak. Might need to be turned back into a pointer if it causes issues with the destructor chain. llvm-svn: 160012
* <rdar://problem/11751427> Fixing an issue where multiple threads could ↵Enrico Granata2012-07-101-0/+10
| | | | | | concurrently try and initialize Python and cause crashes llvm-svn: 160008
* Improve dynamic type resolution efficiency by looking for the type in the ↵Greg Clayton2012-07-101-5/+23
| | | | | | module that contains the vtable symbol first and only look for the first match. If we don't find anything, _then_ move on to the rest of the modules in the target and watch out for multiple matches. llvm-svn: 159975
* Fixed errors and warnings on debug code.Filipe Cabecinhas2012-07-091-4/+4
| | | | llvm-svn: 159929
* Make error messages more user-friendly for the 'target delete' command.Filipe Cabecinhas2012-07-091-3/+15
| | | | llvm-svn: 159927
* Simplify the CreateDefaultUnwindPlan methods for the x86 and arm unwindersJason Molenda2012-07-093-70/+17
| | | | | | | | | a bit -- we're creating the UnwindPlan here, we can set the register set to whatever is convenient for us, no need to handle different register sets. A handful of small comment fixes I noticed while reading through the code. llvm-svn: 159924
* On i386 we see occasional crashes when the registerSean Callanan2012-07-071-0/+2
| | | | | | | | | context is not returning valid registers yet. Don't crash in these situations. <rdar://problem/11650335> llvm-svn: 159885
* <rdar://problem/11357711>Greg Clayton2012-07-079-63/+66
| | | | | | Fixed a crasher where the section load list was not thread safe. llvm-svn: 159884
* Make const result value objects able to return dynamic types.Greg Clayton2012-07-071-0/+22
| | | | | | Modified the heap.py to be able to correctly indentify the exact ivar for the "ptr_refs" command no matter how deep the ivar is in a class hierarchy. Also fixed the ability for the heap command to symbolicate the stack backtrace when MallocStackLogging is set in the environment and the "--stack" option was specified. llvm-svn: 159883
* Fixed a crasher that happens if we try to inspectSean Callanan2012-07-071-0/+3
| | | | | | | | a NULL symbol file. <rdar://problem/11795939> llvm-svn: 159882
* Fixed a crash in the class uniq'ing code where weSean Callanan2012-07-071-0/+12
| | | | | | | | | didn't check if the two classes had the same number of members. <rdar://problem/11678873> llvm-svn: 159880
* <rdar://problem/11819635>Greg Clayton2012-07-061-4/+0
| | | | llvm-svn: 159844
* Change the "run" / "r" command alias to not use --shell for lldbJason Molenda2012-07-061-0/+4
| | | | | | | | running natively on arm - on iOS we have to do some extra work to track the inferior process if we launch with a shell intermediary. <rdar://problem/11719396> llvm-svn: 159803
* Bump versions to lldb-161, debugserver-188.Jason Molenda2012-07-062-2/+2
| | | | llvm-svn: 159798
* Fixed a potential crash if a metadata categorySean Callanan2012-07-041-1/+1
| | | | | | | | we write into doesn't already exist. <rdar://problem/11775508> llvm-svn: 159700
* Work around some problems destroying a process with older debugservers.Jim Ingham2012-07-043-1/+114
| | | | | | rdar://problem/11359989 llvm-svn: 159697
* <rdar://problem/11800213>Greg Clayton2012-07-031-27/+31
| | | | | | Fixed a crasher in the "thread continue" code. There were many logic errors in the DoExecute function where thread index IDs were being used where the actual zero based thread index should have been used. This could cause crashes to happen since looking up a thread by index ID, when the zero based index of a thread should be used would return an empty thread shared pointer and cause a NULL deref. llvm-svn: 159686
* Improved the name comparing logic a bit.Greg Clayton2012-07-031-2/+4
| | | | llvm-svn: 159685
* <rdar://problem/11744001>Greg Clayton2012-07-021-0/+1
| | | | | | Fixed an issue where GDB servers that don't support the thread suffix could get registers states incorrectly due to an incorrect assumption that the current register thread (set using the "Hg%x" packet) will always be cached between runs. Now we clear the cached register thred when the process is resumed. llvm-svn: 159603
OpenPOWER on IntegriCloud