https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89625
Bug ID: 89625 Summary: Freeing memory under the lock in __deregister_frame_info_bases Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: normal Priority: P3 Component: libgcc Assignee: unassigned at gcc dot gnu.org Reporter: antoshkka at gmail dot com Target Milestone: --- `__deregister_frame_info_bases` in file unwind-dw2-fde.c calls `free (ob->u.sort);` under the locked `object_mutex`. This can be avoided by remembering the pointer to free and freeing it outside the critical section. This has been fixed in upstream glibc https://github.com/bminor/glibc/commit/2604882cefd3281679b8177245fdebc7061b8695#diff-17235859a5d2697ce97070a69ab9a602