Comment 0 for bug 2039677

Revision history for this message
eMTee (realprogger) wrote : Generated crashlogs are missing all trace information when DC++ is compiled with a gcc 8.5 and later based MinGW-w64

The last known mingw-w64 version where it is working is <https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/>
The first known mingw-w64 version where it is NOT working is <https://github.com/niXman/mingw-builds-binaries/releases/tag/8.5.0-rt_v10-rev0>

The documentation of <https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc//Debugging-Options.html> <https://gcc.gnu.org/onlinedocs/gcc-8.5.0/gcc//Debugging-Options.html> is identical so no changes of defaults or no new options introduced/documented between these two versions.

I tried with different options such as -glevel -gdwarf32/64 or set to produce DWARF4 info with -gdwarf-4 (see the attached diff of the doc versions of the above gcc manual page between gcc 8.1 and 11.2) without success.

The size of the .pdb file generated using the single -g option keeps growing with every new gcc version from 6.x to 11.2 (gcc 11.2 produces ~6 times larger .pdb file than the size produced by 6.x if -g specified only).

We use a 10 year old libdwarf version, patched in a couple of places for our CrashLogger. Trying a libdwarf update may be useful if it is a file format problem. But maybe it is not a format change in the .pdb file at all but in the way how the call stack needs to be processed in Crashlogger, etc..