https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66874
Sam James <sjames at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |arsen at gcc dot gnu.org --- Comment #2 from Sam James <sjames at gcc dot gnu.org> --- I've been going crazy hitting this recently (see e.g. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114068#c2). pinskia pointed me here and I fear I might be hitting this as a result of dwz optimised debug info on gcc (as it's the only recent change I can think of). Anyway, this seems to help indeed: --- a/libgcc/config/i386/linux-unwind.h +++ b/libgcc/config/i386/linux-unwind.h @@ -60,6 +60,11 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context, #else #define RT_SIGRETURN_SYSCALL 0x050f40000201c0c7ULL #endif + + /* Defend against corrupted PC, PR66874 */ + if ((unsigned long)pc < 4096) + return _URC_END_OF_STACK; + if (*(unsigned char *)(pc+0) == 0x48 && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL) { I've only shoved it in quickly to be able to debug something else so it's not really ready to submit.