| #
6a354705 |
| 02-Oct-2014 |
Jason Molenda <[email protected]> |
Add a mutex lock to StackFrame to protect race conditions for updating its ivars. We've had a lot of crash reports and careful analysis shows that we've got multiple threads operating on the same St
Add a mutex lock to StackFrame to protect race conditions for updating its ivars. We've had a lot of crash reports and careful analysis shows that we've got multiple threads operating on the same StackFrame objects, changing their m_sc and m_flags ivars. <rdar://problem/18406111>
llvm-svn: 218845
show more ...
|
|
Revision tags: llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2, llvmorg-3.5.0-rc1 |
|
| #
aaa0ba31 |
| 08-Jul-2014 |
Bruce Mitchener <[email protected]> |
Fix typos.
llvm-svn: 212553
|
| #
6d1fbc9c |
| 07-Jul-2014 |
Todd Fiala <[email protected]> |
Allow specification of no source display on stop.
See http://llvm.org/bugs/show_bug.cgi?id=20149 for details.
Change by Randy Smith.
llvm-svn: 212485
|
|
Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2, llvmorg-3.4.1-rc1 |
|
| #
3985c8c6 |
| 02-Apr-2014 |
Saleem Abdulrasool <[email protected]> |
sanitise sign comparisons
This is a mechanical change addressing the various sign comparison warnings that are identified by both clang and gcc. This helps cleanup some of the warning spew that occ
sanitise sign comparisons
This is a mechanical change addressing the various sign comparison warnings that are identified by both clang and gcc. This helps cleanup some of the warning spew that occurs during builds.
llvm-svn: 205390
show more ...
|
|
Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1 |
|
| #
99618476 |
| 04-Nov-2013 |
Jason Molenda <[email protected]> |
Add new ivars to StackFrame so it can represent a stack collected at some point in the past. We may have nothing more than a pc value for this type of stack frame -- hopefully we'll have a pc and a
Add new ivars to StackFrame so it can represent a stack collected at some point in the past. We may have nothing more than a pc value for this type of stack frame -- hopefully we'll have a pc and a stop_id so we can track module loads and unloads over time and symbolicate the pc at the correct point in time.
Also add a flag to indicate if the CFA for the frame is available (a bit different from a CFA of LLDB_INVALID_ADDRESS) and also an overall setting to indicate whether this is a history stack frame or not. A history stack frame may not have a CFA, it may not have a register context, it may not have variables, it may not have a frame pointer or a stack pointer.
<rdar://problem/15314068>
llvm-svn: 193987
show more ...
|
| #
b57e4a1b |
| 04-Nov-2013 |
Jason Molenda <[email protected]> |
Roll back the changes I made in r193907 which created a new Frame pure virtual base class and made StackFrame a subclass of that. As I started to build on top of that arrangement today, I found that
Roll back the changes I made in r193907 which created a new Frame pure virtual base class and made StackFrame a subclass of that. As I started to build on top of that arrangement today, I found that it wasn't working out like I intended. Instead I'll try sticking with the single StackFrame class -- there's too much code duplication to make a more complicated class hierarchy sensible I think.
llvm-svn: 193983
show more ...
|
| #
f23bf743 |
| 02-Nov-2013 |
Jason Molenda <[email protected]> |
Add a new base class, Frame. It is a pure virtual function which defines a protocol that all subclasses will implement. StackFrame is currently the only subclass and the methods that Frame vends ar
Add a new base class, Frame. It is a pure virtual function which defines a protocol that all subclasses will implement. StackFrame is currently the only subclass and the methods that Frame vends are nearly identical to StackFrame's old methods.
Update all callers to use Frame*/Frame& instead of pointers to StackFrames.
This is almost entirely a mechanical change that touches a lot of the code base so I'm committing it alone. No new functionality is added with this patch, no new subclasses of Frame exist yet.
I'll probably need to tweak some of the separation, possibly moving some of StackFrame's methods up in to Frame, but this is a good starting point.
<rdar://problem/15314068>
llvm-svn: 193907
show more ...
|
| #
8ec10efc |
| 18-Oct-2013 |
Jim Ingham <[email protected]> |
Mark the selected frame of the selected thread in backtraces.
<rdar://problem/15252474>
llvm-svn: 192989
|
| #
57ee3067 |
| 11-Jul-2013 |
Greg Clayton <[email protected]> |
Huge change to clean up types.
A long time ago we start with clang types that were created by the symbol files and there were many functions in lldb_private::ClangASTContext that helped. Later we cr
Huge change to clean up types.
A long time ago we start with clang types that were created by the symbol files and there were many functions in lldb_private::ClangASTContext that helped. Later we create ClangASTType which contains a clang::ASTContext and an opauque QualType, but we didn't switch over to fully using it. There were a lot of places where we would pass around a raw clang_type_t and also pass along a clang::ASTContext separately. This left room for error.
This checkin change all type code over to use ClangASTType everywhere and I cleaned up the interfaces quite a bit. Any code that was in ClangASTContext that was type related, was moved over into ClangASTType. All code that used these types was switched over to use all of the new goodness.
llvm-svn: 186130
show more ...
|
|
Revision tags: llvmorg-3.3.1-rc1, llvmorg-3.3.0, llvmorg-3.3.0-rc3 |
|
| #
c3ce7f27 |
| 23-May-2013 |
Michael Sartain <[email protected]> |
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.no
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
llvm-svn: 182609
show more ...
|
|
Revision tags: llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1 |
|
| #
7cd81c55 |
| 29-Apr-2013 |
Jason Molenda <[email protected]> |
When lldb stops in a stack frame where we have source level information (file, line number), don't print the disassembly context around $pc -- just print the filename and line number, even if we can
When lldb stops in a stack frame where we have source level information (file, line number), don't print the disassembly context around $pc -- just print the filename and line number, even if we can't show the source code. Previously if the source file was not available, lldb would print the source filename & line number and assembly. <rdar://problem/13072951>
llvm-svn: 180706
show more ...
|
| #
0f063ba6 |
| 02-Mar-2013 |
Jim Ingham <[email protected]> |
Convert from the C-based LLVM Disassembler shim to the full MC Disassembler API's. Calculate "can branch" using the MC API's rather than our hand-rolled regex'es. As extra credit, allow setting the
Convert from the C-based LLVM Disassembler shim to the full MC Disassembler API's. Calculate "can branch" using the MC API's rather than our hand-rolled regex'es. As extra credit, allow setting the disassembly flavor for x86 based architectures to intel or att.
<rdar://problem/11319574> <rdar://problem/9329275>
llvm-svn: 176392
show more ...
|
| #
5e3e1499 |
| 26-Feb-2013 |
Greg Clayton <[email protected]> |
Backed out a hacky fix that is no longer needed.
llvm-svn: 176106
|
| #
72310355 |
| 23-Feb-2013 |
Greg Clayton <[email protected]> |
<rdar://problem/13265297>
StackFrame assumes m_sc is additive, but m_sc can lose its target. So now the SymbolContext::Clear() method takes a bool that indicates if the target should be cleared. Mo
<rdar://problem/13265297>
StackFrame assumes m_sc is additive, but m_sc can lose its target. So now the SymbolContext::Clear() method takes a bool that indicates if the target should be cleared. Modified all existing code to properly set the bool argument.
llvm-svn: 175953
show more ...
|
| #
f4be227d |
| 21-Feb-2013 |
Sean Callanan <[email protected]> |
Fixed a case where a stack frame could lose track of its own target.
<rdar://problem/13121412>
llvm-svn: 175794
|
|
Revision tags: llvmorg-3.2.0, llvmorg-3.2.0-rc3 |
|
| #
4ef877f5 |
| 06-Dec-2012 |
Greg Clayton <[email protected]> |
<rdar://problem/12560257>
Fixed zero sized arrays to work correctly. This will only happen once we get a clang that emits correct debug info for zero sized arrays. For now I have marked the TestStru
<rdar://problem/12560257>
Fixed zero sized arrays to work correctly. This will only happen once we get a clang that emits correct debug info for zero sized arrays. For now I have marked the TestStructTypes.py as an expected failure.
llvm-svn: 169465
show more ...
|
| #
93a64300 |
| 05-Dec-2012 |
Daniel Malea <[email protected]> |
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)
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!
llvm-svn: 169341
show more ...
|
|
Revision tags: llvmorg-3.2.0-rc2 |
|
| #
d01b2953 |
| 29-Nov-2012 |
Daniel Malea <[email protected]> |
Resolve printf formatting warnings on Linux: - use macros from inttypes.h for format strings instead of OS-specific types
Patch from Matt Kopec!
llvm-svn: 168945
|
| #
75a0333b |
| 29-Nov-2012 |
Greg Clayton <[email protected]> |
<rdar://problem/12445557>
Make stack frames fix up their line table entries when the target has source remappings. Also rearranged how the m_sc.target_sp was filled in so it can be used during the S
<rdar://problem/12445557>
Make stack frames fix up their line table entries when the target has source remappings. Also rearranged how the m_sc.target_sp was filled in so it can be used during the StackFrame::GetSymbolContext(...) function.
llvm-svn: 168845
show more ...
|
|
Revision tags: llvmorg-3.2.0-rc1 |
|
| #
513c6bb8 |
| 01-Sep-2012 |
Jim Ingham <[email protected]> |
Initial check-in of "fancy" inlined stepping. Doesn't do anything useful unless you switch LLDB_FANCY_INLINED_STEPPING to true. With that on, basic inlined stepping works, including step-over of in
Initial check-in of "fancy" inlined stepping. Doesn't do anything useful unless you switch LLDB_FANCY_INLINED_STEPPING to true. With that on, basic inlined stepping works, including step-over of inlined functions. But for some as yet mysterious reason i386 debugging gets an assert and dies immediately. So for now its off.
llvm-svn: 163044
show more ...
|
| #
1f746071 |
| 29-Aug-2012 |
Greg Clayton <[email protected]> |
<rdar://problem/11757916>
Make breakpoint setting by file and line much more efficient by only looking for inlined breakpoint locations if we are setting a breakpoint in anything but a source implem
<rdar://problem/11757916>
Make breakpoint setting by file and line much more efficient by only looking for inlined breakpoint locations if we are setting a breakpoint in anything but a source implementation file. Implementing this complex for a many reasons. Turns out that parsing compile units lazily had some issues with respect to how we need to do things with DWARF in .o files. So the fixes in the checkin for this makes these changes: - Add a new setting called "target.inline-breakpoint-strategy" which can be set to "never", "always", or "headers". "never" will never try and set any inlined breakpoints (fastest). "always" always looks for inlined breakpoint locations (slowest, but most accurate). "headers", which is the default setting, will only look for inlined breakpoint locations if the breakpoint is set in what are consudered to be header files, which is realy defined as "not in an implementation source file". - modify the breakpoint setting by file and line to check the current "target.inline-breakpoint-strategy" setting and act accordingly - Modify compile units to be able to get their language and other info lazily. This allows us to create compile units from the debug map and not have to fill all of the details in, and then lazily discover this information as we go on debuggging. This is needed to avoid parsing all .o files when setting breakpoints in implementation only files (no inlines). Otherwise we would need to parse the .o file, the object file (mach-o in our case) and the symbol file (DWARF in the object file) just to see what the compile unit was. - modify the "SymbolFileDWARFDebugMap" to subclass lldb_private::Module so that the virtual "GetObjectFile()" and "GetSymbolVendor()" functions can be intercepted when the .o file contenst are later lazilly needed. Prior to this fix, when we first instantiated the "SymbolFileDWARFDebugMap" class, we would also make modules, object files and symbol files for every .o file in the debug map because we needed to fix up the sections in the .o files with information that is in the executable debug map. Now we lazily do this in the DebugMapModule::GetObjectFile()
Cleaned up header includes a bit as well.
llvm-svn: 162860
show more ...
|
| #
67cc0636 |
| 22-Aug-2012 |
Greg Clayton <[email protected]> |
Reimplemented the code that backed the "settings" in lldb. There were many issues with the previous implementation: - no setting auto completion - very manual and error prone way of getting/setting v
Reimplemented the code that backed the "settings" in lldb. There were many issues with the previous implementation: - no setting auto completion - very manual and error prone way of getting/setting variables - tons of code duplication - useless instance names for processes, threads
Now settings can easily be defined like option values. The new settings makes use of the "OptionValue" classes so we can re-use the option value code that we use to set settings in command options. No more instances, just "does the right thing".
llvm-svn: 162366
show more ...
|
| #
685c88c5 |
| 14-Jul-2012 |
Greg Clayton <[email protected]> |
<rdar://problem/11870357>
Allow "frame variable" to find ivars without the need for "this->" or "self->".
llvm-svn: 160211
|
| #
53eb7ad2 |
| 11-Jul-2012 |
Greg Clayton <[email protected]> |
<rdar://problem/11852100>
The "stop-line-count-after" and "stop-line-count-before" settings are broken. This fixes them.
llvm-svn: 160071
|
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1 |
|
| #
86cc9829 |
| 19-Mar-2012 |
Enrico Granata <[email protected]> |
Massive enumeration name changes: a number of enums in ValueObject were not following the naming pattern Changes to synthetic children: - the update(self): function can now (optionally) return a val
Massive enumeration name changes: a number of enums in ValueObject were not following the naming pattern Changes to synthetic children: - the update(self): function can now (optionally) return a value - if it returns boolean value True, ValueObjectSyntheticFilter will not clear its caches across stop-points this should allow better performance for Python-based synthetic children when one can be sure that the child ValueObjects have not changed - making a difference between a synthetic VO and a VO with a synthetic value: now a ValueObjectSyntheticFilter will not return itself as its own synthetic value, but will (correctly) claim to itself be synthetic - cleared up the internal synthetic children architecture to make a more consistent use of pointers and references instead of shared pointers when possible - major cleanup of unnecessary #include, data and functions in ValueObjectSyntheticFilter itself - removed the SyntheticValueType enum and replaced it with a plain boolean (to which it was equivalent in the first place) Some clean ups to the summary generation code Centralized the code that clears out user-visible strings and data in ValueObject More efficient summaries for libc++ containers
llvm-svn: 153061
show more ...
|