-
Notifications
You must be signed in to change notification settings - Fork 5.3k
[release/9.0] Avoid C4319 build warnings in libunwind #122179
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
[release/9.0] Avoid C4319 build warnings in libunwind #122179
Conversation
|
/azp run runtime-libraries stress-http |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run runtime-libraries stress-ssl |
|
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR backports a fix from upstream libunwind to address C4319 build warnings on Windows that were blocking HTTP & SSL stress runs. The warning occurs with MSVC when performing bitwise complement operations on unsigned long literals followed by masking.
- Changed the
UNW_ALIGNmacro to use explicitsize_tcasts instead of unsigned long literals - Updated libunwind version tracking to document the applied upstream PR
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/native/external/libunwind/include/libunwind_i.h | Modified UNW_ALIGN macro to use size_t casts for both operands, eliminating C4319 warnings on MSVC |
| src/native/external/libunwind-version.txt | Added reference to upstream PR #931 that provides this fix |
am11
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks! 🙂
c1afd3e
into
dotnet:release/9.0-staging
Include libunwind/libunwind#931 in the build of the libunwind dependency.
Fixes runtime build errors on
1es-windows-2022-openthat are blocking HTTP & SSL stress runs.Customer Impact
Our internal HTTP and SSL stress tests are failing to build on the 8.0 branch.
An update of MSVC in the
1es-windows-2022-openimage brought updated analyzer rules that now fail the build of dotnet/runtime on Windows.This change adds
(size_t)casts in the libunwind dependency, which resolves the new errors.Regression
Infra update.
Testing
Regular CI is still passing + CI stress runs for HTTP and SSL now build and work again.
Risk
Low.
This is a one-line targeted fix that only adds casts.