The libgcc __register_frame and __deregister_frame functions take a pointer to a set of FDE/CIEs, terminated by an entry with length = 0.
In Apple's implementation the pointer is assumed to be to a single FDE. I suspect this is just a bug.
Make us compatible with libgcc instead.