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.
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user