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

Enable EHCONT for some DLLs and for PGO instrumentation #55942

Merged
merged 2 commits into from
Jul 22, 2021

Conversation

kouvel
Copy link
Member

@kouvel kouvel commented Jul 19, 2021

  • PGD files used for PGO optimziation need to be collected/used against binaries with identical compiler features
  • Enabled /guard:ehcont as a compiler option but not as a linker option
  • Enabled /guard:ehcont and /cetcompat as a linker options for PGO instrumentation only for now
  • Once new profile data is published, another PR would follow to enable /guard:ehcont and /cetcompat as linker options

- PGD files used for PGO optimziation need to be collected/produced against binaries with identical compiler features
- Enabled `/guard:ehcont` as a compiler option but not as a linker option
- Enabled `/guard:ehcont` and `/cetcompat` as a linker options for PGO instrumentation only for now
- Once new profile data is published, another PR would follow to enable `/guard:ehcont` and `/cetcompat` as linker options
@kouvel kouvel added this to the 6.0.0 milestone Jul 19, 2021
@kouvel kouvel requested review from janvorli and mangod9 July 19, 2021 17:31
@kouvel kouvel self-assigned this Jul 19, 2021
@kouvel kouvel requested a review from agocke July 19, 2021 17:43
Copy link
Member

@janvorli janvorli left a comment

Choose a reason for hiding this comment

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

LGTM, thank you!

@mangod9
Copy link
Member

mangod9 commented Jul 19, 2021

x86 builds are failing with LINK : fatal error LNK1246: '/GUARD:EHCONT' not compatible with 'x86' target machine; link without '/GUARD:EHCONT'. Need to exclude it

@kouvel
Copy link
Member Author

kouvel commented Jul 19, 2021

Yea forgot about that, will fix

@kouvel kouvel merged commit f28702c into dotnet:main Jul 22, 2021
@kouvel kouvel deleted the PgoEhContFix branch July 22, 2021 16:25
kouvel added a commit to kouvel/runtime that referenced this pull request Aug 11, 2021
- Followup to dotnet#55942
- Intended to be merged into a PR that updates to use new PGO profile data collected with the above change
- Enabled `/guard:ehcont` as a linker option for EXEs and DLLs
- Enabled `/cetcompat` as a linker option for DLLs
kouvel added a commit that referenced this pull request Aug 12, 2021
* Enable `EHCONT` and `CETCOMPAT` for some binaries on Windows

- Followup to #55942
- Intended to be merged into a PR that updates to use new PGO profile data collected with the above change
- Enabled `/guard:ehcont` as a linker option for EXEs and DLLs
- Enabled `/cetcompat` as a linker option for DLLs
@ghost ghost locked as resolved and limited conversation to collaborators Aug 21, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants