Call dummy_frame_dtor_ftype also from remove_dummy_frame
authorJan Kratochvil <jan.kratochvil@redhat.com>
Wed, 13 May 2015 18:47:32 +0000 (20:47 +0200)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Wed, 13 May 2015 18:47:32 +0000 (20:47 +0200)
commit5e9705017f5b257421136b8d7752b9c793335ace
treeda7d4b8b721cbf9529eea378a337fcf3e625b8ea
parent1c4eb778a28447d764235b8810d382b40b2a054c
Call dummy_frame_dtor_ftype also from remove_dummy_frame

There was now a leak-like bug that if dummy_frame "disappeared" by
remove_dummy_frame then its destructor was not called.  For example in the case
of 'compile code' dummy frames the injected objfile would never get freed after
some inferior longjmp out of the injected code.

gdb/ChangeLog
2015-05-13  Jan Kratochvil  <jan.kratochvil@redhat.com>

* compile/compile-object-run.c (do_module_cleanup): Add parameter
registers_valid.
(compile_object_run): Update do_module_cleanup caller.
* dummy-frame.c: Include infcall.h.
(struct dummy_frame): Update dtor comment.
(remove_dummy_frame): Call dtor.
(pop_dummy_frame): Update dtor caller.
* dummy-frame.h (dummy_frame_dtor_ftype): Add parameter
registers_valid.
gdb/ChangeLog
gdb/compile/compile-object-run.c
gdb/dummy-frame.c
gdb/dummy-frame.h