[x86/Linux] Fix marshalling struct with 64-bit types (dotnet/coreclr#17455)
authorKonstantin Baladurin <k.baladurin@partner.samsung.com>
Mon, 16 Apr 2018 18:11:41 +0000 (21:11 +0300)
committerJan Kotas <jkotas@microsoft.com>
Mon, 16 Apr 2018 18:11:41 +0000 (11:11 -0700)
commit54f6b8824500b122788026ba0a1f433b4eda0a5c
treed4fc9014c40213751f66182ebcd483ef8d428ace
parentb32a9cadf97690b4b273784464c8f9aefcb72a69
[x86/Linux] Fix marshalling struct with 64-bit types (dotnet/coreclr#17455)

* [x86/Linux] Fix marshalling struct with 64-bit types

The System V ABI for i386 defines 4-byte alignment for 64-bit types.

* [Linux/x86] Fix marshalling tests in the case of System V i386 ABI

Commit migrated from https://github.com/dotnet/coreclr/commit/af74af2f4a01341fce78bcaac370d497f4f511b1
src/coreclr/src/vm/fieldmarshaler.cpp
src/coreclr/src/vm/fieldmarshaler.h
src/coreclr/tests/src/CoreMangLib/cti/system/runtime/interopservices/marshal/marshalsizeof1.cs
src/coreclr/tests/src/CoreMangLib/cti/system/runtime/interopservices/marshal/marshalsizeof2.cs
src/coreclr/tests/src/Interop/MarshalAPI/OffsetOf/OffsetOf.cs
src/coreclr/tests/src/Interop/StructPacking/StructPacking.cs