http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50678
--- Comment #28 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-10-12 22:54:57 UTC --- > OK. well libgcc_s or libSystem contains the unwinder, depending on whether > it's darwin9 or darwin10 (and assuming that there's no insertion caused by a > DYLD_LIBRARY_PATH). I'll have to trawl through it in more detail. I'll try as well. > I suppose that the fact that the tests pass at -O0 might simply reflect > different register usage... I was hoping that it might indicate a code-gen > problem ;-) Yes, it passes at -O0 because the stack pointer is restored from a stack slot instead of from %rbx. Tom's patch changed %r12 into %rbx here, which is OK.