public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-1514] release the sorted FDE array when deregistering a frame [PR109685]
@ 2023-06-03 7:47 Thomas Neumann
0 siblings, 0 replies; only message in thread
From: Thomas Neumann @ 2023-06-03 7:47 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:5cf60b6ba111f4169305c7832b063b000e9ec36a
commit r14-1514-g5cf60b6ba111f4169305c7832b063b000e9ec36a
Author: Thomas Neumann <tneumann@users.sourceforge.net>
Date: Tue May 2 16:21:09 2023 +0200
release the sorted FDE array when deregistering a frame [PR109685]
The atomic fastpath bypasses the code that releases the sort
array which was lazily allocated during unwinding. We now
check after deregistering if there is an array to free.
libgcc/ChangeLog:
PR libgcc/109685
* unwind-dw2-fde.c: Free sort array in atomic fast path.
Diff:
---
libgcc/unwind-dw2-fde.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/libgcc/unwind-dw2-fde.c b/libgcc/unwind-dw2-fde.c
index a5786bf729c..32b9e64a1c8 100644
--- a/libgcc/unwind-dw2-fde.c
+++ b/libgcc/unwind-dw2-fde.c
@@ -241,6 +241,12 @@ __deregister_frame_info_bases (const void *begin)
// And remove
ob = btree_remove (®istered_frames, range[0]);
bool empty_table = (range[1] - range[0]) == 0;
+
+ // Deallocate the sort array if any.
+ if (ob && ob->s.b.sorted)
+ {
+ free (ob->u.sort);
+ }
#else
init_object_mutex_once ();
__gthread_mutex_lock (&object_mutex);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-06-03 7:47 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-03 7:47 [gcc r14-1514] release the sorted FDE array when deregistering a frame [PR109685] Thomas Neumann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).