]> gcc.gnu.org Git - gcc.git/commit
Avoid depending on destructor order
authorThomas Neumann <tneumann@users.sourceforge.net>
Mon, 19 Sep 2022 16:10:02 +0000 (18:10 +0200)
committerThomas Neumann <tneumann@users.sourceforge.net>
Thu, 22 Sep 2022 22:57:55 +0000 (00:57 +0200)
commit94ccaf62c378c3737f7e4b6a80e1160157119171
tree7f2d60eb3cbbf1de93e7ee15b9976dedace5e8a8
parent32524808fad7dc753b177f6c2f2e4cdc7e82f3c3
Avoid depending on destructor order

In some scenarios (e.g., when mixing gcc and clang code), it can
happen that frames are deregistered after the lookup structure
has already been destroyed. That in itself would be fine, but
it triggers an assert in __deregister_frame_info_bases that
expects to find the frame.

To avoid that, we now remember that the btree as already been
destroyed and disable the assert in that case.

libgcc/ChangeLog:

* unwind-dw2-fde.c: (release_register_frames) Remember
when the btree has been destroyed.
(__deregister_frame_info_bases) Disable the assert when
shutting down.
libgcc/unwind-dw2-fde.c
This page took 0.060578 seconds and 5 git commands to generate.