Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

P/invoke pregeneration fixes #27389

Merged

Conversation

MichalStrehovsky
Copy link
Member

Today I learned about LCIDConversionAttribute.

This makes us pass more of the interop tests, but there's still stuff to fix. See individual commits.

@MichalStrehovsky MichalStrehovsky merged commit b2aa938 into dotnet:single-exe Oct 24, 2019
@MichalStrehovsky MichalStrehovsky deleted the getMarshallerKind branch October 24, 2019 11:14
MichalStrehovsky added a commit that referenced this pull request Oct 24, 2019
janvorli added a commit to janvorli/coreclr that referenced this pull request Nov 7, 2019
* Enable precompilation of marshalling IL stubs in crossgen2 dotnet#26767
* P/invoke pregeneration fixes dotnet#27389
* Fixes to array marshalling pregeneration dotnet#27425
* Fix IsBlittableType dotnet#27436
janvorli added a commit that referenced this pull request Nov 7, 2019
* Port set of changes from single-exe branch

* Enable precompilation of marshalling IL stubs in crossgen2 #26767
* P/invoke pregeneration fixes #27389
* Fixes to array marshalling pregeneration #27425
* Fix IsBlittableType #27436

* Fix stack overflow issue and m_alignpad==0 assert

I've found that the changes from single-exe had issues - it was causing
stack overflow during compilation of a couple of runtime assemblies.
After I've fixed that, there was about 15 tests failing at runtime failing
with assert failure: m_alignpad == 0. This is a well known indication of a
problem where JIT and crossgen get different field offsets, resulting in
writing beyond the end of an object.
The problem was caused by incorrect usage of sequential layout for class
without LayoutSequential attribute.
I've added a commit with fix for those to this PR.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants