qemu-devel
[Top][All Lists]
Advanced

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

linux-user - time64 question


From: Sid Manning
Subject: linux-user - time64 question
Date: Tue, 5 May 2020 21:38:42 +0000

I’m looking at a testcase failure when my target uses 64bit time in msg.h (struct msqid_ds).  I’ve been able to get around this but changing target_msqid_ds like so:


@@ -3900,18 +3901,9 @@ static inline abi_long do_semop(int semid, abi_long ptr,
unsigned nsops)
 struct target_msqid_ds
 {
     struct target_ipc_perm msg_perm;
-    abi_ulong msg_stime;
-#if TARGET_ABI_BITS == 32
-    abi_ulong __unused1;
-#endif
-    abi_ulong msg_rtime;
-#if TARGET_ABI_BITS == 32
-    abi_ulong __unused2;
-#endif
-    abi_ulong msg_ctime;
-#if TARGET_ABI_BITS == 32
-    abi_ulong __unused3;
-#endif
+    abi_ullong msg_stime;
+    abi_ullong msg_rtime;
+    abi_ullong msg_ctime;
     abi_ulong __msg_cbytes;
     abi_ulong msg_qnum;
     abi_ulong msg_qbytes;

It seems like either should have worked but I get garbage back in some of the elements below msg_time fields without the change.

If time_t is 64bits then it seems like stime/rtime/ctime should be abi_ullong.

My target is Hexagon and the TARGET_ABI_BITS is 32.

Thanks,

reply via email to

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