https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111731
--- Comment #20 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Thomas Neumann <tneum...@gcc.gnu.org>: https://gcc.gnu.org/g:a364148530c28645ce87adbc58a66c9f32a325ab commit r14-9620-ga364148530c28645ce87adbc58a66c9f32a325ab Author: Thomas Neumann <tneum...@users.sourceforge.net> Date: Mon Mar 11 14:35:20 2024 +0100 handle unwind tables that are embedded within unwinding code [PR111731] Original bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111731 The unwinding mechanism registers both the code range and the unwind table itself within a b-tree lookup structure. That data structure assumes that is consists of non-overlappping intervals. This becomes a problem if the unwinding table is embedded within the code itself, as now the intervals do overlap. To fix this problem we now keep the unwind tables in a separate b-tree, which prevents the overlap. libgcc/ChangeLog: PR libgcc/111731 * unwind-dw2-fde.c: Split unwind ranges if they contain the unwind table.