...those of you who don't have the equivalent of the patch below in your ports, that is. You'll likely only notice through a slightly reduced debugging experience and g++.dg/debug/dwarf2/non-virtual-thunk.C failing. Yes, the docs should mention these functions need to be called IMHO obviously, but not by me not now maybe later. Tested cris-elf, committed.
gcc: PR target/55257 * config/cris/cris.c (cris_asm_output_mi_thunk): Call final_start_function and final_end_function. Index: gcc/config/cris/cris.c =================================================================== --- gcc/config/cris/cris.c (revision 192677) +++ gcc/config/cris/cris.c (working copy) @@ -2698,6 +2698,9 @@ cris_asm_output_mi_thunk (FILE *stream, HOST_WIDE_INT vcall_offset ATTRIBUTE_UNUSED, tree funcdecl) { + /* Make sure unwind info is emitted for the thunk if needed. */ + final_start_function (emit_barrier (), stream, 1); + if (delta > 0) fprintf (stream, "\tadd%s " HOST_WIDE_INT_PRINT_DEC ",$%s\n", ADDITIVE_SIZE_MODIFIER (delta), delta, @@ -2735,6 +2738,8 @@ cris_asm_output_mi_thunk (FILE *stream, if (TARGET_V32) fprintf (stream, "\tnop\n"); } + + final_end_function (); } /* Boilerplate emitted at start of file. brgds, H-P