changeset 121:f00b1f3da52e

- added padding to mips64 thunk
author cslag
date Mon, 04 Jul 2016 01:03:27 +0200
parents 8a6111c2a84a
children f63467916f98
files dyncallback/dyncall_callback_mips.h dyncallback/dyncall_thunk_mips64.h
diffstat 2 files changed, 6 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/dyncallback/dyncall_callback_mips.h	Mon Jul 04 01:02:47 2016 +0200
+++ b/dyncallback/dyncall_callback_mips.h	Mon Jul 04 01:03:27 2016 +0200
@@ -32,11 +32,11 @@
 #include "dyncall_thunk.h"
 #include "dyncall_args_mips.h"
 
-struct DCCallback
+struct DCCallback /* might want to make use of __packed__ or so @@@ */
 {
-  DCThunk            thunk;    /* offset/size: mips32(0/20), mips64(0/52) */
-  DCCallbackHandler* handler;  /* offset/size: mips32(20/4), mips64(52/8) */
-  void*              userdata; /* offset/size: mips32(24/4), mips64(60/8) */
+  DCThunk            thunk;    /* offset/size: mips32(0/20), mips64(0/56) */
+  DCCallbackHandler* handler;  /* offset/size: mips32(20/4), mips64(56/8) */
+  void*              userdata; /* offset/size: mips32(24/4), mips64(64/8) */
 };
 
 #endif /* DYNCALL_CALLBACK_MIPS_H */
--- a/dyncallback/dyncall_thunk_mips64.h	Mon Jul 04 01:02:47 2016 +0200
+++ b/dyncallback/dyncall_thunk_mips64.h	Mon Jul 04 01:03:27 2016 +0200
@@ -32,9 +32,10 @@
     unsigned short s[26];
     unsigned int   i[13]; /* don't change from 'int', must be 32bit wide */
   } text;
+  unsigned int padding; /* 4 bytes, to get struct size to multiple of 8 */
 };
 
-#define DCTHUNK_MIPS64_SIZE	52
+#define DCTHUNK_MIPS64_SIZE	56
 
 #endif /* DYNCALL_THUNK_MIPS64_H */