https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106581
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Lance Fredrickson from comment #2) > Here is the disassemble > > (gdb) disassemble > Dump of assembler code for function _ZSt18uncaught_exceptionv: > 0x0000007fb7eae2a8 <+0>: stp x29, x30, [sp, #-16]! > 0x0000007fb7eae2ac <+4>: mov x29, sp > 0x0000007fb7eae2b0 <+8>: bl 0x7fb7ea8dd0 <__cxa_get_globals@plt> > => 0x0000007fb7eae2b4 <+12>: ldr w0, [x0, #8] > 0x0000007fb7eae2b8 <+16>: cmp w0, #0x0 > 0x0000007fb7eae2bc <+20>: cset w0, ne // ne = any > 0x0000007fb7eae2c0 <+24>: ldp x29, x30, [sp], #16 > 0x0000007fb7eae2c4 <+28>: ret > End of assembler dump. "info registers" What is the value of x0 at this point? Can you also do "disassemble __cxa_get_globals"?