diff options
author | Thomas Neumann <tneumann@users.sourceforge.net> | 2022-09-19 18:10:02 +0200 |
---|---|---|
committer | Thomas Neumann <tneumann@users.sourceforge.net> | 2022-09-23 00:57:55 +0200 |
commit | 94ccaf62c378c3737f7e4b6a80e1160157119171 (patch) | |
tree | 7f2d60eb3cbbf1de93e7ee15b9976dedace5e8a8 /libcc1 | |
parent | 32524808fad7dc753b177f6c2f2e4cdc7e82f3c3 (diff) | |
download | gcc-94ccaf62c378c3737f7e4b6a80e1160157119171.zip gcc-94ccaf62c378c3737f7e4b6a80e1160157119171.tar.gz gcc-94ccaf62c378c3737f7e4b6a80e1160157119171.tar.bz2 |
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.
Diffstat (limited to 'libcc1')
0 files changed, 0 insertions, 0 deletions