Heads-up: symbolized stack traces in LLVM/Clang tools crash dumps

Hi everyone,

I plan to submit http://reviews.llvm.org/D5610 this week. This change modifies LLVM crash signal handler used in most tools, so that it attempts to use llvm-symbolizer binary and print function name and file/line information for each stack frame. See review thread for a specific example of the stack trace printed before and after this change.

This change is mostly intended to help LLVM/Clang developers: for instance, now if your debug build of Clang crashes anywhere, you won’t have to re-run it once again under gdb to see the actual stack trace.

A couple of notes:

  1. This would only work on selected platforms (Linux and OS X are included).
  2. If symbolization fails for some reason, signal handler will fall back to the original behavior.

Please speak up if you have any concerns about this change. Note that if you have tools that parse the output of LLVM crash reports - you will have to update them to match the new format.