llvm-project/lldb/source/Breakpoint
Jim Ingham 1460e4bf0e Get the breakpoint setting, and the Mac OS X DYLD trampolines and expression evaluator to handle Indirect
symbols correctly.  There were a couple of pieces to this.

1) When a breakpoint location finds itself pointing to an Indirect symbol, when the site for it is created
   it needs to resolve the symbol and actually set the site at its target.
2) Not all breakpoints want to do this (i.e. a straight address breakpoint should always set itself on the
   specified address, so somem machinery was needed to specify that.
3) I added some info to the break list output for indirect symbols so you could see what was happening. 
   Also I made it clear when we re-route through re-exported symbols.
4) I moved ResolveIndirectFunction from ProcessPosix to Process since it works the exact same way on Mac OS X
   and the other posix systems.  If we find a platform that doesn't do it this way, they can override the
   call in Process.
5) Fixed one bug in RunThreadPlan, if you were trying to run a thread plan after a "running" event had
   been broadcast, the event coalescing would cause you to miss the ThreadPlan running event.  So I added
   a way to override the coalescing.
6) Made DynamicLoaderMacOSXDYLD::GetStepThroughTrampolinePlan handle Indirect & Re-exported symbols.

<rdar://problem/15280639>

llvm-svn: 198976
2014-01-10 23:46:59 +00:00
..
Breakpoint.cpp Get the breakpoint setting, and the Mac OS X DYLD trampolines and expression evaluator to handle Indirect 2014-01-10 23:46:59 +00:00
BreakpointID.cpp Patch from info from Daniel Malea that should fix the build on linux after fixes committed with revision 162860. 2012-09-04 14:55:50 +00:00
BreakpointIDList.cpp <rdar://problem/13069948> 2013-01-25 18:06:21 +00:00
BreakpointList.cpp Fixed the the breakpoint test case failures. 2013-11-09 00:03:31 +00:00
BreakpointLocation.cpp Get the breakpoint setting, and the Mac OS X DYLD trampolines and expression evaluator to handle Indirect 2014-01-10 23:46:59 +00:00
BreakpointLocationCollection.cpp Add "target.process.stop-on-shared-library-events" setting, and make it work. 2013-01-26 02:19:28 +00:00
BreakpointLocationList.cpp Get the breakpoint setting, and the Mac OS X DYLD trampolines and expression evaluator to handle Indirect 2014-01-10 23:46:59 +00:00
BreakpointOptions.cpp Hardened LLDB against NULL conditions being 2013-05-10 21:58:45 +00:00
BreakpointResolver.cpp Factor the code that was eliminating redundant breakpoint locations and moving 2013-09-27 01:16:58 +00:00
BreakpointResolverAddress.cpp <rdar://problem/13521159> 2013-03-27 23:08:40 +00:00
BreakpointResolverFileLine.cpp Factor the code that was eliminating redundant breakpoint locations and moving 2013-09-27 01:16:58 +00:00
BreakpointResolverFileRegex.cpp Remove unused local variable. 2013-10-04 19:17:40 +00:00
BreakpointResolverName.cpp Get the breakpoint setting, and the Mac OS X DYLD trampolines and expression evaluator to handle Indirect 2014-01-10 23:46:59 +00:00
BreakpointSite.cpp Add "target.process.stop-on-shared-library-events" setting, and make it work. 2013-01-26 02:19:28 +00:00
BreakpointSiteList.cpp Huge performance improvements when one breakpoint contains many locations. 2013-06-12 00:46:38 +00:00
CMakeLists.txt Convert to UNIX line endings. 2013-09-25 10:37:32 +00:00
Makefile
Stoppoint.cpp
StoppointCallbackContext.cpp Thread hardening part 3. Now lldb_private::Thread objects have std::weak_ptr 2012-02-21 00:09:25 +00:00
StoppointLocation.cpp <rdar://problem/13635174> 2013-10-11 19:48:25 +00:00
Watchpoint.cpp Huge change to clean up types. 2013-07-11 22:46:58 +00:00
WatchpointList.cpp Adding events when watchpoints are set or changed. 2012-12-18 02:03:49 +00:00
WatchpointOptions.cpp Since we use C++11, we should switch over to using std::unique_ptr when C++11 is being used. To do this, we follow what we have done for shared pointers and we define a STD_UNIQUE_PTR macro that can be used and it will "do the right thing". Due to some API differences in std::unique_ptr and due to the fact that we need to be able to compile without C++11, we can't use move semantics so some code needed to change so that it can compile with either C++. 2013-04-18 18:10:51 +00:00