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

[release/6.0] [Libraries][Android] Fix alignment for padding System.Decimal #58380

Merged
merged 6 commits into from
Aug 31, 2021

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Aug 30, 2021

Backport of #57978 to release/6.0

/cc @mdh1418

Customer Impact

While running library tests for mobile, it was discovered that expected alignment for padding System.Decimal struct was incorrect for Linux x86 as the tests were not yet modified to fully accommodate non-Windows platforms. Furthermore, mono had been following CoreCLR's special case for System.Decimal, but mono's special case was not removed when CoreCLR's special case was removed.

Modifies the tests that checks alignment of System.Decimal within structs
Removes special casing from mono's marshal implementation

Without this PR, the System.Decimal special case marshal handling would be unnecessary and the tests would continue to fail on Android x86

Testing

The tests are fixed with this PR

Risk

Low, this corrects the padding/alignment for structs using System.Decimal on non-Windows x86 platforms

@ghost
Copy link

ghost commented Aug 30, 2021

Tagging subscribers to 'arch-android': @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

Issue Details

Backport of #57978 to release/6.0

/cc @mdh1418

Customer Impact

While running library tests for mobile, it was discovered that expected alignment for padding System.Decimal struct was incorrect for Linux x86 as the tests were not yet modified to fully accommodate non-Windows platforms. Furthermore, mono had been following CoreCLR's special case for System.Decimal, but mono's special case was not removed when CoreCLR's special case was removed.

Modifies the tests that checks alignment of System.Decimal within structs
Removes special casing from mono's marshal implementation

Without this PR, the System.Decimal special case marshal handling would be unnecessary and the tests would continue to fail on Android x86

Testing

The tests are fixed with this PR

Risk

Low, this corrects the padding/alignment for structs using System.Decimal on non-Windows x86 platforms

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

area-System.Runtime.InteropServices, os-android

Milestone: -

@mdh1418 mdh1418 requested a review from marek-safar August 30, 2021 21:13
@steveisok steveisok merged commit 114aa9a into release/6.0 Aug 31, 2021
@mdh1418 mdh1418 deleted the backport/pr-57978-to-release/6.0 branch August 31, 2021 14:33
@ghost ghost locked as resolved and limited conversation to collaborators Sep 30, 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