qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] linux-user: correctly align types in thunking code


From: Laurent Vivier
Subject: [Qemu-devel] [PATCH] linux-user: correctly align types in thunking code
Date: Sat, 8 Dec 2012 16:18:48 +0100

Signed-off-by: Laurent Vivier <address@hidden>
---
 thunk.h |   22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/thunk.h b/thunk.h
index 87025c3..d3e9f3d 100644
--- a/thunk.h
+++ b/thunk.h
@@ -151,20 +151,32 @@ static inline int thunk_type_align(const argtype 
*type_ptr, int is_host)
     case TYPE_CHAR:
         return 1;
     case TYPE_SHORT:
-        return 2;
+        if (is_host) {
+            return __alignof__(short);
+        } else {
+            return TARGET_SHORT_ALIGNMENT;
+        }
     case TYPE_INT:
-        return 4;
+        if (is_host) {
+            return __alignof__(int);
+        } else {
+            return TARGET_INT_ALIGNMENT;
+        }
     case TYPE_LONGLONG:
     case TYPE_ULONGLONG:
-        return 8;
+        if (is_host) {
+            return __alignof__(long long);
+        } else {
+            return TARGET_LLONG_ALIGNMENT;
+        }
     case TYPE_LONG:
     case TYPE_ULONG:
     case TYPE_PTRVOID:
     case TYPE_PTR:
         if (is_host) {
-            return sizeof(void *);
+            return __alignof__(long);
         } else {
-            return TARGET_ABI_BITS / 8;
+            return TARGET_LONG_ALIGNMENT;
         }
         break;
     case TYPE_OLDDEVT:
-- 
1.7.10.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]