https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120440
--- Comment #15 from Sam James <sjames at gcc dot gnu.org> --- (In reply to Sam James from comment #13) > Created attachment 62016 [details] > 120440.tar.xz The diff between the objects is really small. --- 120440/a-except.o-good +++ 120440/a.except.o-bad ... Disassembly of section .text: @@ -1509,17 +1509,16 @@ Free (Copy); c38: 48 85 f6 test %rsi,%rsi - c3b: 74 11 je c4e <ada__exceptions__exception_propagation__gnat_gcc_exception_cleanupXn+0x16> + c3b: 74 12 je c4f <ada__exceptions__exception_propagation__gnat_gcc_exception_cleanupXn+0x17> procedure GNAT_GCC_Exception_Cleanup c3d: 48 83 ec 08 sub $0x8,%rsp Free (Copy); - c41: 48 89 f7 mov %rsi,%rdi - c44: e8 00 00 00 00 call c49 <ada__exceptions__exception_propagation__gnat_gcc_exception_cleanupXn+0x11> + c41: 48 8b 7e f8 mov -0x8(%rsi),%rdi + c45: e8 00 00 00 00 call c4a <ada__exceptions__exception_propagation__gnat_gcc_exception_cleanupXn+0x12> end GNAT_GCC_Exception_Cleanup; - c49: 48 83 c4 08 add $0x8,%rsp - c4d: c3 ret + c4a: 48 83 c4 08 add $0x8,%rsp c4e: c3 ret - c4f: 90 nop + c4f: c3 ret is where the mangled pointer comes from mentioned above?