https://bugs.winehq.org/show_bug.cgi?id=15489
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello folks,
well the part of producing .pdb files is already possible using llvm-mingw cross-toolchain. See Jacek's status update here:
https://www.winehq.org/pipermail/wine-devel/2019-December/157038.html
https://github.com/mstorsjo/llvm-mingw
Martin provides prebuilt cross-toolchains for Linux and Windows here:
https://github.com/mstorsjo/llvm-mingw/releases
For Linux distros just download and unpack the tarball for Ubuntu.
https://github.com/mstorsjo/llvm-mingw/releases/download/20191230/llvm-mingw...
Inject the cross-toolchain into PATH variable to have Wine's 'configure' to pick it up. Additionally you need export the following environment variables:
--- snip --- $ export CROSSCFLAGS="-g -gcodeview -O2" $ export CROSSLDFLAGS="-Wl,-pdb=" --- snip ---
After building you end up with PDB files for each component/module where the conversion to PE format has already been done (still WIP):
--- snip --- $ pwd /home/focht/projects/wine
# search build directory $ find mainline-build-x86_64/ -name "*.pdb"
mainline-build-x86_64/dlls/acledit/acledit.pdb mainline-build-x86_64/dlls/aclui/aclui.pdb mainline-build-x86_64/dlls/activeds/activeds.pdb mainline-build-x86_64/dlls/actxprxy/actxprxy.pdb mainline-build-x86_64/dlls/adsldp/adsldp.pdb mainline-build-x86_64/dlls/adsldpc/adsldpc.pdb mainline-build-x86_64/dlls/advpack/advpack.pdb mainline-build-x86_64/dlls/amsi/amsi.pdb mainline-build-x86_64/dlls/amstream/amstream.pdb mainline-build-x86_64/dlls/api-ms-win-appmodel-identity-l1-1-0/api-ms-win-appmodel-identity-l1-1-0.pdb ... mainline-build-x86_64/dlls/msvcirt/msvcirt.pdb mainline-build-x86_64/dlls/msvcm80/msvcm80.pdb mainline-build-x86_64/dlls/msvcm90/msvcm90.pdb mainline-build-x86_64/dlls/msvcp100/msvcp100.pdb mainline-build-x86_64/dlls/msvcp110/msvcp110.pdb mainline-build-x86_64/dlls/msvcp120_app/msvcp120_app.pdb mainline-build-x86_64/dlls/msvcp120/msvcp120.pdb mainline-build-x86_64/dlls/msvcp140/msvcp140.pdb mainline-build-x86_64/dlls/msvcp60/msvcp60.pdb mainline-build-x86_64/dlls/msvcp70/msvcp70.pdb mainline-build-x86_64/dlls/msvcp71/msvcp71.pdb mainline-build-x86_64/dlls/msvcp80/msvcp80.pdb mainline-build-x86_64/dlls/msvcp90/msvcp90.pdb mainline-build-x86_64/dlls/msvcr120_app/msvcr120_app.pdb mainline-build-x86_64/dlls/msvcrt20/msvcrt20.pdb mainline-build-x86_64/dlls/msvcrt40/msvcrt40.pdb mainline-build-x86_64/dlls/msvfw32/msvfw32.pdb mainline-build-x86_64/dlls/msvidc32/msvidc32.pdb mainline-build-x86_64/dlls/mswsock/mswsock.pdb mainline-build-x86_64/dlls/msxml2/msxml2.pdb mainline-build-x86_64/dlls/msxml4/msxml4.pdb mainline-build-x86_64/dlls/msxml6/msxml6.pdb ... mainline-build-x86_64/programs/wordpad/wordpad.pdb mainline-build-x86_64/programs/write/write.pdb mainline-build-x86_64/programs/wscript/wscript.pdb mainline-build-x86_64/programs/wuauserv/wuauserv.pdb mainline-build-x86_64/programs/wusa/wusa.pdb mainline-build-x86_64/programs/xcopy/xcopy.pdb --- snip ---
Regarding the topic of symbol servers ... Well, that's another topic which should be discussed in different ticket(s). It's certainly possible to set up a MS symsrv-compatible local or remote symbol store for Wine .pdb files by using the 'symstore' tool from 'Microsoft Debugging Tools for Windows'. Supporting Windows debuggers on Linux which tightly integrate with native 'dbghelp' v6.3+, 'symsrv' and 'msdiaxxx' requires more work.
$ wine --version wine-5.0-rc3
Regards