summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core
Commit message (Collapse)AuthorAgeFilesLines
...
* <rdar://problem/10449092> Adding a new uppercase hex format specifier. This ↵Enrico Granata2012-08-093-19/+25
| | | | | | commit also changes the short names for formats so that uppercase hex can be 'X', which was previously assigned to hex float. hex float now has no short name. llvm-svn: 161606
* LLDB no longer prints <no result> by default ifSean Callanan2012-08-091-1/+20
| | | | | | | | | | | the expression returns nothing. There is now a setting, "notify-void." When the user enables that setting, lldb prints (void) if an expression's result is void. Otherwise, lldb is silent. <rdar://problem/11225150> llvm-svn: 161600
* <rdar://problem/11505459> Stripping off the object's type from the output of ↵Enrico Granata2012-08-091-3/+10
| | | | | | the 'po' command llvm-svn: 161592
* Removed explicit NULL checks for shared pointersSean Callanan2012-08-091-1/+1
| | | | | | | | | and instead made us use implicit casts to bool. This generated a warning in C++11. <rdar://problem/11930775> llvm-svn: 161559
* Fixed the delay that was happening when quitting lldb from the command line. ↵Greg Clayton2012-08-081-27/+28
| | | | | | We weren't initializing the command pipes when constructing a ConnectionFileDescriptor with a file descriptor. llvm-svn: 161533
* Added a 'void' format so that the user can manuallySean Callanan2012-08-081-1/+2
| | | | | | | | | suppress all non-error output from the "expression" command. <rdar://problem/11225150> llvm-svn: 161502
* <rdar://problem/11975483> Removing user-visible references to 'dict' as a ↵Enrico Granata2012-08-081-2/+2
| | | | | | parameter name for Python summary-generating functions since it is a Python keyword. llvm-svn: 161467
* Added the ability to set the architecture from two numbers that represent ↵Greg Clayton2012-08-081-0/+39
| | | | | | the mach-o CPU type and subtype in the format "%u-%u" or "%u.%u". This can of course be followed by vendor and OS. llvm-svn: 161465
* Added fix from Pawel Worach.Filipe Cabecinhas2012-08-071-1/+1
| | | | llvm-svn: 161420
* Fixing an issue where ValueObject::GetPointeeData() would not work correctly ↵Enrico Granata2012-08-071-0/+1
| | | | | | for file addresses when fetching items other than the 0-th llvm-svn: 161384
* Changed the Opcode::GetData() API so that it didn'tSean Callanan2012-08-072-12/+5
| | | | | | | | require an AddressClass, which is useless at this point since it already knows the distinction between 32-bit Thumb opcodes and 32-bit ARM opcodes. llvm-svn: 161382
* Fixed an error in the thumb opcode encoding. We need the 32 bit thumb ↵Greg Clayton2012-08-071-8/+21
| | | | | | instructions to be encoded as a 32 bit value for the EmulateARM code. llvm-svn: 161381
* Improved raw disassembly output for Thumb.Sean Callanan2012-08-061-22/+10
| | | | llvm-svn: 161360
* <rdar://problem/12029894>Greg Clayton2012-08-061-2/+14
| | | | | | Use the built in demangler for Apple builds for now which has needed demangling fixes, and make the cxa_demangle.cpp use rtti in the Xcode project settings as it requires it be enabled. llvm-svn: 161323
* Pull in cxa_demangle.cpp/.h from llvm's libcxxabi project. Change the ↵Johnny Chen2012-08-042-0/+11013
| | | | | | | | namespace to lldb_cxxabiv1 for the time being. Mangled.cpp is not wired in to call it yet. llvm-svn: 161293
* <rdar://problem/11846023> Fixing a bug where malformed DWARF could lead to ↵Enrico Granata2012-08-021-5/+19
| | | | | | an endless recursion with synthetic children llvm-svn: 161185
* Instructions generated by a disassembler can nowSean Callanan2012-08-011-19/+18
| | | | | | | | | | | | | | | | | | keep a shared pointer to their disassembler. This is important for the LLVM-C disassembler because it needs to lock its parent in order to disassemble itself. This means that every interface that returned a Disassembler* needs to return a DisassemblerSP, so that the instructions and any external owners share the same reference count on the object. I changed all clients to use this shared pointer, which also plugged a few leaks. <rdar://problem/12002822> llvm-svn: 161123
* Cleaned up the lldb_private::Mangled class to get rid of the tokenizing code ↵Greg Clayton2012-07-181-522/+1
| | | | | | that has bit rotted and isn't being used. Also cleaned up the API to the "lldb_private::Mangled" to always take "const ConstString &" arguments instead of both "const ConstString &" and "const char *". llvm-svn: 160466
* <rdar://problem/10998370>Greg Clayton2012-07-181-6/+91
| | | | | | | | Improved the error message when we can find a function in the current program by printing the demangled name. Also added the ability to create lldb_private::Mangled instances with a ConstString when we already have a ConstString for a mangled or demangled name. Also added the ability to call SetValue with a ConstString and also without a boolean to indicate if the string is mangled where we will now auto-detect if the string is mangled. llvm-svn: 160450
* Ran the static analyzer on the codebase and found a few things.Greg Clayton2012-07-176-105/+80
| | | | llvm-svn: 160338
* Lock around reading as well as connecting & disconnecting so we don't start ↵Jim Ingham2012-07-171-31/+73
| | | | | | | | | reading after someone has set our file descriptor to -1 and crash in FD_SET... <rdar://problem/11653966> llvm-svn: 160336
* <rdar://problem/11870357>Greg Clayton2012-07-141-42/+0
| | | | | | Allow "frame variable" to find ivars without the need for "this->" or "self->". llvm-svn: 160211
* <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
* <rdar://problem/11740973>Greg Clayton2012-07-122-57/+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-121-3/+29
| | | | | | | | | | 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
* 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
* 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
* Don't call DoOnRemoval if you are just peeking at events.Jim Ingham2012-07-111-1/+5
| | | | llvm-svn: 160079
* <rdar://problem/11852100>Greg Clayton2012-07-111-4/+4
| | | | | | The "stop-line-count-after" and "stop-line-count-before" settings are broken. This fixes them. llvm-svn: 160071
* <rdar://problem/11357711>Greg Clayton2012-07-072-4/+4
| | | | | | 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
* <rdar://problem/11819635>Greg Clayton2012-07-061-4/+0
| | | | llvm-svn: 159844
* <rdar://problem/11755446> Making sure to provide summaries for one more ↵Enrico Granata2012-06-281-1/+2
| | | | | | NSString subclass llvm-svn: 159389
* Fix the copy constructor and assignement operator for ModuleList to be ↵Greg Clayton2012-06-271-2/+7
| | | | | | thread safe. llvm-svn: 159285
* Committed a change to the SectionList that introducesSean Callanan2012-06-081-14/+78
| | | | | | | | | | | a cache of address ranges for child sections, accelerating lookups. This cache is built during object file loading, and is then set in stone once the object files are done loading. (In Debug builds, we ensure that the cache is never invalidated after that.) llvm-svn: 158188
* rdar://problem/11598332Johnny Chen2012-06-051-5/+18
| | | | | | | | | | | | | The output of 'register read' should be prettier. Modify RegisterValue::Dump() to take an additional parameter: uint32_t reg_name_right_align_at which defaults to 0 (i.e., no alignment at all). Update the 'register read' command impl to pass 8 as the alignment to RegisterValue::Dump() method. If more sophisticated scheme is desired, we will need to introduce an additional command option to 'register read' later on. llvm-svn: 158039
* rdar://problem/11597911Johnny Chen2012-06-051-1/+9
| | | | | | | | Fix confusing error message about "expression did not evaluate to an address" when doing 'watchpoint set expression". Instead of using 0 as the fail_value when invoking ValueObject::GetValueAsUnsigned(), modify the API to take an addition bool pointer (defaults to NULL) to indicate success/failure of value conversion. llvm-svn: 158016
* We were accessing the ModuleList in the target without locking it for tasks likeJim Ingham2012-05-302-11/+34
| | | | | | | | | | | setting breakpoints. That's dangerous, since while we are setting a breakpoint, the target might hit the dyld load notification, and start removing modules from the list. This change adds a GetMutex accessor to the ModuleList class, and uses it whenever we are accessing the target's ModuleList (as returned by GetImages().) <rdar://problem/11552372> llvm-svn: 157668
* Check for NULL modules coming into the SearchFilter's ModulePasses & ↵Jim Ingham2012-05-291-1/+3
| | | | | | PlatformDarwin::ModuleIsExcludedForNonModuleSpecificSearches functions. llvm-svn: 157653
* Fix arch_helper() to return the list of supported architectures.Johnny Chen2012-05-291-0/+6
| | | | llvm-svn: 157643
* Fixed memory management issues introduced by revision 157507. Greg Clayton2012-05-261-10/+7
| | | | | | | | | A local std::string was being filled in and then the function would return "s.c_str()". A local StreamString (which contains a std::string) was being filled in, and essentially also returning the c string from the std::string, though it was in a the StreamString class. The fix was to not do this by passing a stream object into StringList::Join() and fix the "arch_helper()" function to do what it should: cache the result in a global. llvm-svn: 157519
* rdar://problem/11535045Johnny Chen2012-05-261-0/+19
| | | | | | | | Make 'help arch' return the list of supported architectures. Add a convenience method StringList::Join(const char *separator) which is called from the help function for 'arch'. Also add a simple test case. llvm-svn: 157507
* <rdar://problem/11534686> Greg Clayton2012-05-251-3/+16
| | | | | | Reading memory from a file when the section is encrypted doesn't show an error. No we do. llvm-svn: 157484
* <rdar://problem/11355592> Fixing a bug where we would incorrectly try and ↵Enrico Granata2012-05-211-38/+8
| | | | | | determine a dynamic type for a variable of a pointer type that is not a valid generic type for dynamic pointers. llvm-svn: 157190
* If we notice that a module with a given file path is replaced by another ↵Jim Ingham2012-05-171-0/+29
| | | | | | | | | | | with the same file path on rerunning, evict the old module from the target module list, inform the breakpoints about this so they can do something intelligent as well. rdar://problem/11273043 llvm-svn: 157008
* Add LLDB_DISABLE_PYTHON around newly added methods inJason Molenda2012-05-163-0/+14
| | | | | | | | DataVisualization.h / DataVisualization.cpp / ValueObject.cpp and FormatManager.h / FormatManager.cpp llvm-svn: 156886
* <rdar://problem/11246147>Greg Clayton2012-05-161-2/+8
| | | | | | Make sure our debugger STDIN read thread shuts down quickly when we are done with it. We had a case where the owner of the file handle was not closing it and caused spins. llvm-svn: 156879
* <rdar://problem/11455398>Greg Clayton2012-05-151-1/+2
| | | | | | | | Add "--name" option to "image lookup" that will search both functions and symbols. Also made all of the output from any of the "image lookup" commands be the same regardless of the lookup type (function name, symbol name, func or symbol, file and line, address, etc). The --verbose or -v option also will expand the results as needed and display things so they look the same. llvm-svn: 156835
OpenPOWER on IntegriCloud