Skip to content

[release/6.0] Fix CRC32 encoding - #60360

Merged
Anipik merged 1 commit into
release/6.0from
backport/pr-60329-to-release/6.0
Oct 14, 2021
Merged

[release/6.0] Fix CRC32 encoding#60360
Anipik merged 1 commit into
release/6.0from
backport/pr-60329-to-release/6.0

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Oct 13, 2021

Copy link
Copy Markdown
Contributor

Backport of #60329 to release/6.0

/cc @BruceForstall

Customer Impact

This fixes a bug affecting an internal partner using .NET on special OS builds using low (<4GB) memory address space on x64 processors.

Testing

Hand testing, forcing low memory for a crc32 argument; plus normal CI testing and SPMI assembly diffs (none, as expected).

Risk

Very low: the change affects only one instruction (crc32), and only for the immediate addressing mode, which is not encountered on x64 except in this low-address-space system.

On x64, when the crc32 instruction 2nd operand is a memory address
(such as for a static field), and that address is containable
(which normally doesn't happen, because the address will be above
the 4GB lower address space), then the instruction was being
improperly encoded.
@ghostghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Oct 13, 2021
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @JulieLeeMSFT
See info in area-owners.md if you want to be subscribed.

Issue Details

Backport of #60329 to release/6.0

/cc @BruceForstall

Customer Impact

Testing

Risk

Author:github-actions[bot]
Assignees:-
Labels:

area-CodeGen-coreclr

Milestone:-

@jeffschwMSFTjeffschwMSFT left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Approved. Please get a code review and we can consider this one for .NET 6.

@jeffschwMSFTjeffschwMSFT added the Servicing-consider Issue for next servicing release review label Oct 13, 2021
@jeffschwMSFTjeffschwMSFT added this to the 6.0.0 milestone Oct 13, 2021
@BruceForstall

Copy link
Copy Markdown
Contributor

@tannergooding PTAL: port of fix to .NET 6
cc @dotnet/jit-contrib

@leecowleecow added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Oct 14, 2021
@Anipik
Anipik merged commit 89123cb into release/6.0Oct 14, 2021
@jkotas
jkotas deleted the backport/pr-60329-to-release/6.0 branch October 23, 2021 13:06
@ghostghost locked as resolved and limited conversation to collaborators Nov 22, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIServicing-approvedApproved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@BruceForstall@jeffschwMSFT@Anipik@leecow