A compiler can produce FDE records with no CFA offset if it doesn't save anything on stack for a frame. This is what the MetaWare compiler does for some functions - it doesn't update CFA since it saves return address to a register.
In this case LLDB fails to unwind the stack complaining about a loop. This patch checks also the return addresses of the frames, there is no loop if they differ.
This is also consistent with how UnwindLLDB::GetOneMoreFrame identifies infinite loops.
specail -> special
hanlders -> handlers
compiance -> compliance
more then 2 -> more than 2