Skip to content
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

Add support for llvm-objdump to applocal.ps1 #11898

Merged
merged 2 commits into from
Nov 10, 2020

Conversation

Chronial
Copy link
Contributor

This fixes #11467 and together with #11466 seems to be everything needed to have clang support under windows for x64 builds.

@MVoz
Copy link
Contributor

MVoz commented Jun 12, 2020

tested file.exe
https://github.com/julian-r/file-windows/releases

https://github.com/brechtsanders/pedeps/releases

portable across different platforms (Windows, macOS, *nix)
no dependencies

small one file listpedeps

listpedeps.exe "file.exe" | ? { $_ -match "[^ ].dll" }

libmagic.dll
VCRUNTIME140.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-convert-l1-1-0.dll
api-ms-win-crt-environment-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-locale-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
KERNEL32.dll

llvm-objdump -p "file.exe" | ? { $_ -match "^ {4}DLL Name: .*\.dll" } | % { $_ -replace "^ {4}DLL Name: ","" }

libmagic.dll
VCRUNTIME140.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-convert-l1-1-0.dll
api-ms-win-crt-environment-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-locale-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
KERNEL32.dll

dumpbin /DEPENDENTS "file.exe" | ? { $_ -match "^ [^ ].*\.dll" } | % { $_ -replace "^ ","" }

libmagic.dll
VCRUNTIME140.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-convert-l1-1-0.dll
api-ms-win-crt-environment-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-locale-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
KERNEL32.dll

@PhoebeHui PhoebeHui added category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed requires:discussion labels Jul 31, 2020
@PhoebeHui
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ras0219-msft
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Contributor

@ras0219-msft ras0219-msft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This LGTM in principle, but will require testing.

@Chronial
Copy link
Contributor Author

@ras0219-msft Is there anything I can do here? This obviously needs x64 windows clang, so testing this on the current CI is not feasible?

@Milerius
Copy link
Contributor

Milerius commented Nov 6, 2020

very interesting pr for people like me that use clang on windows

Copy link
Member

@BillyONeal BillyONeal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think you could add a test of this to the end-to-end-tests.ps1? (Not required to merge it, but it would be nice)

@BillyONeal
Copy link
Member

This obviously needs x64 windows clang

We currently install whichever version Visual Studio installs, which I think is an x86 version; is that acceptable?

'Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset',
'Microsoft.VisualStudio.Component.VC.Llvm.Clang'

@Chronial
Copy link
Contributor Author

Chronial commented Nov 8, 2020

@BillyONeal Thanks for taking time for this issue. I will try to have a look at end-to-end-tests on Monday.

We currently install whichever version Visual Studio installs, which I think is an x86 version; is that acceptable?

I see no reason why x86 wouldn't be fine. I honestly can't quite remember why I wrote x64 back then – probably just because that's the architecture we are using. But it's very good to know that there is a clang available on the CI machines.

@strega-nil
Copy link
Contributor

I'm merging, since we have people who are waiting on this. @Chronial, could you look at the e2e tests and open a new PR?

@strega-nil strega-nil merged commit 19fe942 into microsoft:master Nov 10, 2020
@Chronial
Copy link
Contributor Author

@strega-nil thanks for merging. It got a bit busy this week – I'll see to the test when I find time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[vcpkg] vcpkg requires dumpbin.exe with clang on windows
7 participants