Destroy allocated values when exiting GDB
authorSergio Durigan Junior <sergiodj@redhat.com>
Fri, 29 Mar 2019 21:34:54 +0000 (17:34 -0400)
committerSergio Durigan Junior <sergiodj@redhat.com>
Mon, 1 Apr 2019 14:58:12 +0000 (10:58 -0400)
commit9d1447e09d4aa673826039321163b5a684e8e043
treee9af1807d26dcc67327847c369b9d032afccb102
parent34ef62f46541d423b991850b2b7ba34d8749a6ba
Destroy allocated values when exiting GDB

When the user exits GDB, we might still have some allocated values in
the chain, which, in specific scenarios, can cause problems when GDB
attempts to destroy them in "quit_force".  For example, see the bug
reported at:

  https://bugzilla.redhat.com/show_bug.cgi?id=1690120

And the thread starting at:

  https://sourceware.org/ml/gdb-patches/2019-03/msg00475.html
  Message-ID: <87r2azkhmq.fsf@redhat.com>

In order to avoid that, and to be more aware of our allocated
resources, this commit implements a new function "finalize_values" and
calls it from inside "quit_force".

Tested by the BuildBot.

2019-04-01  Sergio Durigan Junior  <sergiodj@redhat.com>
    Pedro Alves  <palves@redhat.com>

* top.c (quit_force): Call 'finalize_values'.
* value.c (finalize_values): New function.
* value.h (finalize_values): Declare.
gdb/ChangeLog
gdb/top.c
gdb/value.c
gdb/value.h