Today encountered a strange phenomenon, the same program on one machine can catch the code thrown out of C + + exception, on the other machine can not catch the exception directly abort out,
The stack is as follows:
#0 0xf77c6430 in __kernel_vsyscall ()
#1 0x002b6df0 in Raise () from/lib/libc.so.6
#2 0x002b8701 in Abort () from/lib/libc.so.6
#3 0x00615acc in _unwind_resume () from/lib/libgcc_s.so.1
#4 0X086BACBB in Xxxxxxxxxxxxxxxxx
after GDB single step tracking basic suspicion is the runtime's compatibility problem, check two machines of the gcc/glibc/libstdc++ version, indeed found the clue.
No problem machine: ls-lt/lib/libgcc_s.so.1
lrwxrwxrwx. 1 root Oct 09:01/lib/libgcc_s.so.1-> libgcc_s-4.4.6-20120305.so.1
Machine with problems: ls-lt/lib/libgcc_s.so.1
lrwxrwxrwx 1 root Sep 08:29/lib/libgcc_s.so.1-> libgcc_s-4.1.2-20080825.so.1
After the backup, the decision to copy the libgcc_s-4.4.6-20120305.so.1 to the problematic machine is not covered.
Try again, it's no problem.