diff options
author | Lancelot SIX <lancelot.six@amd.com> | 2022-08-02 13:14:20 +0100 |
---|---|---|
committer | Lancelot SIX <lancelot.six@amd.com> | 2022-08-03 09:57:40 +0100 |
commit | f74a5e6f2ed5180ce28d6478a6d7a7a1982c5d43 (patch) | |
tree | f6604c034273bc6a6222c7730dd3ae6361f0eef1 /opcodes/dep-in.sed | |
parent | ecfc6ddb8074aff8882155b5900958725094f508 (diff) |
gdb: Fix regression in varobj recreation
Commit bc20e562ec0 "Fix use after free in varobj" introduced a
regression. This commit makes sure that the varobj object does not
keeps stale references to object being freed when we unload an objfile.
This includes the "valid_block" field which is reset to nullptr if the
pointed to block is tied to an objfile being freed.
However, at some point varobj_invalidate_iter might try to recreate
varobjs tracking either floating or globals. Varobj tracking globals
are identified as having the "valid_block" field set nullptr, but as
bc20e562ec0 might clear this field, we have lost the ability to
distinguish between varobj referring to globals and non globals.
Fix this by introducing a "global" flag which tracks if a given varobj
was initially created as tracking a global.
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29426
Diffstat (limited to 'opcodes/dep-in.sed')
0 files changed, 0 insertions, 0 deletions