This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug sanitizer/77631] no symbols in backtrace shown by ASan when debug info is split


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77631

--- Comment #13 from ian at gcc dot gnu.org <ian at gcc dot gnu.org> ---
Author: ian
Date: Wed Sep 20 21:09:37 2017
New Revision: 253032

URL: https://gcc.gnu.org/viewcvs?rev=253032&root=gcc&view=rev
Log:
        PR sanitizer/77631
        Support for external debug info.
        * elf.c: Include <errno.h>, <sys/stat.h>, <unistd.h>.
        (S_ISLNK): Define if not defined.
        (xstrnlen): Define if strnlen is not available.
        (b_elf_note): Define type.
        (NT_GNU_BUILD_ID): Define macro.
        (elf_crc32, elf_crc32_file): New static functions.
        (elf_is_symlink, elf_readlink): New static functions.
        (elf_open_debugfile_by_buildid): New static function.
        (elf_try_debugfile): New static function.
        (elf_find_debugfile_by_debuglink): New static function.
        (elf_open_debugfile_by_debuglink): New static function.
        (elf_add): Add filename and debuginfo parameters.  Adjust all
        callers.  Look for external debug info notes, and try to fetch
        debug info from external file.
        (struct phdr_data): Add exe_filename field.
        (phdr_callback): Pass filename to elf_add.
        (backtrace_initialize): Add filename parameter.
        * internal.h (backtrace_initialize): Add filename parameter.
        * fileline.c (fileline_initialize): Pass filename to
        backtrace_initialize.
        * pecoff.c (fileline_initialize): Add unused filename parameter.
        * unknown.c (fileline_initialize): Likewise.
        * xcoff.c (fileline_initialize): Likewise.
        * configure.ac: Check for objcopy --add-gnu-debuglink.
        * Makefile.am (dtest): New test target.
        * configure, Makefile.in: Rebuild.

Modified:
    trunk/libbacktrace/ChangeLog
    trunk/libbacktrace/Makefile.am
    trunk/libbacktrace/Makefile.in
    trunk/libbacktrace/configure
    trunk/libbacktrace/configure.ac
    trunk/libbacktrace/elf.c
    trunk/libbacktrace/fileline.c
    trunk/libbacktrace/internal.h
    trunk/libbacktrace/pecoff.c
    trunk/libbacktrace/unknown.c
    trunk/libbacktrace/xcoff.c

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]