[Bug 15489] Build should optionally produce .pdb file suitable for use with symbol server

WineHQ Bugzilla wine-bugs at winehq.org
Tue Dec 31 19:38:23 CST 2019


https://bugs.winehq.org/show_bug.cgi?id=15489

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net

--- Comment #4 from Anastasius Focht <focht at 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-20191230-ubuntu-16.04.tar.xz

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

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list