https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116438
--- Comment #7 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- Using libbacktrace can only address half of the problem, namely the half where the internal_error handler of the middle-end is called directly. For the other half, namely when a signal (e.g. out of a segfault) or an Ada exception is raised, that's not possible because the unwinding destroys the backtrace (signals are turned into Ada exceptions) so we would need to build GNAT with symbolic backtraces for exceptions but this looks quite delicate.