-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[vcpkg | vcpkg_copy_pdbs]: Support copying .pdb when using llvm/clang-mingw #28143
Conversation
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
Hi @past-due We've been actively trying to remove our dependency on dumpbin by implementing the features we need directly in the vcpkg executable (see this PR to remove dumpbin calls and the changes to replace applocal.ps1). Would you be willing to investigate whether we can get the PDB path information using a method that would not require dumpbin? These seem like good starting points: |
@vicroms If you are already parsing the PE header, I believe:
Which I believe takes a form like (from various snippets around the web):
(Completely untested and unverified, but hopefully that helps point in a useful direction.) I still think there's probably merit to keeping the fallback that this PR adds (which is to just search for a matching .pdb file in the same directory) as well. |
Closing this PR since it seems that no progress is being made. Please ping us to reopen if work is still being done. |
Describe the pull request
Clang-based mingw toolchains can support generating
.PDB
files (example: https://github.com/mstorsjo/llvm-mingw/blob/master/README.md#pdb-support )However, the existing
vcpkg_copy_pdbs
function does not support this.This PR makes two core changes / additions to
vcpkg_copy_pdbs
:dumpbin /PDBPATH
when the host is Windows (even if using a mingw toolchain).pdb
files when cross-compiling with mingw (or ifdumpbin
fails or cannot be found, which may happen - even on Windows - depending on how PATHS are set up for use with the mingw toolchain).Which triplets are supported/not supported? Have you updated the CI baseline?
windows / mingw, No updates needed
Does your PR follow the maintainer guide?
Yes