>> 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.

Attachment: backtrace.diff
Description: Binary data

Attachment: backtrace_withregeneratedfiles.diff
Description: Binary data

Reply via email to