[Bug other/82543] libbacktrace does not retrieve function names on 64 bit windows (using mingw)

antoshkka at gmail dot com gcc-bugzilla@gcc.gnu.org
Tue Oct 24 09:34:00 GMT 2017


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

--- Comment #2 from Antony Polukhin <antoshkka at gmail dot com> ---
The error is within `fileline_initialize` function in `libbacktrace/fileline.c`

If the `backtrace_state*` constructed using the `backtrace_create_state` call
with first parameter set to 0, then filename is detected in
`fileline_initialize` function, which has no means to retrieve file name on
Windows OS:

      switch (pass)
        {
        case 0:
          filename = state->filename;
          break;
        case 1:
          filename = getexecname ();
          break;
        case 2:
          filename = "/proc/self/exe";
          break;
        case 3:
          filename = "/proc/curproc/file";
          break;
        case 4:
          snprintf (buf, sizeof (buf), "/proc/%ld/object/a.out",
                    (long) getpid ());
          filename = buf;
          break;
        default:
          abort ();
    }


More information about the Gcc-bugs mailing list