binutils-gdb/gdb/python
Tom Tromey e0f3fd7c44 PR python/19293 - invalidate frame cache when unwinders change
PR python/19293 notes that when a Python unwinder is disabled, the
frame cache is not invalidated.  This means that disabling an unwinder
doesn't have any immediate effect -- but in my experience it's often
the case that I want to enable or disable an unwinder in order to see
what happens.

This patch adds a new gdb.invalidate_cached_frames function and
arranges for the relevant bits of library code to call it.  I've only
partially documented this function, considering a warning sufficient
without going into all the reasons ordinary code should not call it.
The name of the new function was taken from a comment in frame.h next
to reinit_frame_cache.

No new test as I think the updates to the existing test are sufficient
to show that the code is working as intended.

Built and regtested on x86-64 Fedora 23.

2016-07-12  Tom Tromey  <tom@tromey.com>

	PR python/19293:
	* python/lib/gdb/command/unwinders.py (do_enable_unwinder): Call
	gdb.invalidate_cached_frames.
	* python/lib/gdb/unwinder.py (register_unwinder): Call
	gdb.invalidate_cached_frames.
	* python/python.c (gdbpy_invalidate_cached_frames): New function.
	(python_GdbMethods): Add entry for invalidate_cached_frames.

2016-07-12  Tom Tromey  <tom@tromey.com>

	PR python/19293:
	* python.texi (Frames In Python): Document
	gdb.invalidate_cached_frames.

2016-07-12  Tom Tromey  <tom@tromey.com>

	PR python/19293:
	* gdb.python/py-unwind-maint.exp: Update tests.
2016-07-12 13:56:07 -06:00
..
lib/gdb PR python/19293 - invalidate frame cache when unwinders change 2016-07-12 13:56:07 -06:00
py-arch.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-auto-load.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-block.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-bpevent.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-breakpoint.c Fix use of a dangling pointer for Python breakpoint objects 2016-06-27 12:11:25 +02:00
py-cmd.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-continueevent.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-event.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-event.h GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-events.h GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-evtregistry.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-evts.c remove trivialy unused variables 2016-05-07 20:12:53 -04:00
py-exitedevent.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-finishbreakpoint.c remove trivialy unused variables 2016-05-07 20:12:53 -04:00
py-frame.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-framefilter.c remove trivialy unused variables 2016-05-07 20:12:53 -04:00
py-function.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-gdb-readline.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-inferior.c remove trivialy unused variables 2016-05-07 20:12:53 -04:00
py-infevents.c remove trivialy unused variables 2016-05-07 20:12:53 -04:00
py-infthread.c remove trivialy unused variables 2016-05-07 20:12:53 -04:00
py-lazy-string.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-linetable.c remove trivialy unused variables 2016-05-07 20:12:53 -04:00
py-newobjfileevent.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-objfile.c Fix PR python/19438, PR python/18393 - initialize dictionaries 2016-05-23 10:08:34 -06:00
py-param.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-prettyprint.c Support structure offsets that are 512K or larger. 2016-06-24 21:02:36 -04:00
py-progspace.c Fix PR python/19438, PR python/18393 - initialize dictionaries 2016-05-23 10:08:34 -06:00
py-signalevent.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-stopevent.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-stopevent.h GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-symbol.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-symtab.c remove trivialy unused variables 2016-05-07 20:12:53 -04:00
py-threadevent.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-type.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
py-unwind.c remove trivialy unused variables 2016-05-07 20:12:53 -04:00
py-utils.c python/py-utils.c (host_string_to_python_string): New function. 2016-03-29 23:48:35 -07:00
py-value.c fix spelling of HAVE_LIBPYTHON2_4 in py-value.c 2016-05-25 07:54:44 -06:00
py-varobj.c remove trivialy unused variables 2016-05-07 20:12:53 -04:00
py-xmethods.c PR python/19819 - remove unused globals from py-xmethods.c 2016-06-09 14:29:21 -06:00
python-config.py
python-internal.h Support structure offsets that are 512K or larger. 2016-06-24 21:02:36 -04:00
python.c PR python/19293 - invalidate frame cache when unwinders change 2016-07-12 13:56:07 -06:00
python.h GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00