>> Use libbacktrace (instead of our own unwind-based code) to display >> backtraces from libgfortran >> upon error or user request. >> >> 1. In toplevel Makefile.def, make libgfortran depend on libbacktrace (needs >> global reviewer >> approval) >> 2. In gcc/fortran/config-lang.in, add libbacktrace to target_libs >> 3. In libgfortran, we remove our own code and substitute calls to >> libbacktrace >> >> Bootstrapped and regtested on x86_64-pc-linux-gnu (which has full >> libbacktrace support) and >> x86_64-apple-darwin14 (which has minimal libbacktrace support). OK to commit >> to trunk? > > backtrace.ChangeLog is unreadable for me …
Sending again, this time with .txt extension, hoping this makes it go through OK. FX
2015-08-14 Francois-Xavier Coudert <fxcoud...@gcc.gnu.org> PR libfortran/54572 * Makefile.def: Make libgfortran depend on libbacktrace. * Makefile.in: Regenerate. 2015-08-14 Francois-Xavier Coudert <fxcoud...@gcc.gnu.org> PR libfortran/54572 * config-lang.in: Add libbacktrace to target_libs. 2015-08-14 Francois-Xavier Coudert <fxcoud...@gcc.gnu.org> PR libfortran/54572 * Makefile.am (libgfortran_la_LDFLAGS): Link in libbacktrace. (AM_CPPFLAGS): Add libbacktrace directories to include paths. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. * configure.ac: Remove checks for strtok_r, wait, execve, pipe, and dup2. Remove call to GCC_CHECK_UNWIND_GETIPINFO. * libgfortran.h (full_exe_path, find_addr2line, backtrace): Remove prototypes. (show_backtrace): Add prototype. * runtime/backtrace.c: Rework file entirely. * runtime/compile_options.c (backtrace_handler): Rename backtrace to show_backtrace. (maybe_find_addr2line): Remove function. (set_options): Remove call to maybe_find_addr2line. * runtime/error.c (sys_abort): Rename backtrace to show_backtrace. * runtime/main.c (store_exe_path): Empty function body. (full_exe_path, gfstrtok_r, find_addr2line): Remove functions. (cleanup): Don't free removed variables. * runtime/minimal.c (full_exe_path): Remove function. (set_args): Don't set exe_path. 2015-08-14 Francois-Xavier Coudert <fxcoud...@gcc.gnu.org> PR libfortran/54572 * gfortran.dg/backtrace_1.f90: New test.
backtrace.diff
Description: Binary data
backtrace_withregeneratedfiles.diff
Description: Binary data