summaryrefslogtreecommitdiff
path: root/src/vm/fieldmarshaler.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/fieldmarshaler.h')
-rw-r--r--src/vm/fieldmarshaler.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/vm/fieldmarshaler.h b/src/vm/fieldmarshaler.h
index 8c1f8fe1ac..934f058f99 100644
--- a/src/vm/fieldmarshaler.h
+++ b/src/vm/fieldmarshaler.h
@@ -1626,7 +1626,13 @@ public:
UNUSED_METHOD_IMPL(VOID UpdateNativeImpl(OBJECTREF* pCLRValue, LPVOID pNativeValue, OBJECTREF *ppCleanupWorkListOnStack) const)
UNUSED_METHOD_IMPL(VOID UpdateCLRImpl(const VOID *pNativeValue, OBJECTREF *ppProtectedCLRValue, OBJECTREF *ppProtectedOldCLRValue) const)
+#if defined(_TARGET_X86_) && defined(UNIX_X86_ABI)
+ // The System V ABI for i386 defines 4-byte alignment for 64-bit types.
+ SCALAR_MARSHALER_IMPL(8, 4)
+#else
SCALAR_MARSHALER_IMPL(8, 8)
+#endif // _TARGET_X86_
+
COPY_TO_IMPL_BASE_STRUCT_ONLY()
VOID ScalarUpdateNativeImpl(LPVOID pCLR, LPVOID pNative) const