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

[qemu-xen stable-4.18] Fixed incorrect LLONG alignment for openrisc and cris



commit af0c16fae9532033453f8c208ad1e2e78701de5c
Author:     Luca Bonissi <qemu@xxxxxxxxxxxx>
AuthorDate: Thu Aug 3 02:15:57 2023 +0200
Commit:     Michael Tokarev <mjt@xxxxxxxxxx>
CommitDate: Sun Sep 10 19:39:41 2023 +0300

    Fixed incorrect LLONG alignment for openrisc and cris
    
    OpenRISC (or1k) has long long alignment to 4 bytes, but currently not
    defined in abitypes.h. This lead to incorrect packing of /epoll_event/
    structure and eventually infinite loop while waiting for file
    descriptor[s] event[s].
    
    Fixed also CRIS alignments (1 byte for all types).
    
    Signed-off-by: Luca Bonissi <qemu@xxxxxxxxxxxx>
    Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1770
    Reviewed-by: Thomas Huth <thuth@xxxxxxxxxx>
    Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
    (cherry picked from commit 6ee960823da8fd780ae9912c4327b7e85e80d846)
    Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
---
 include/exec/user/abitypes.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/include/exec/user/abitypes.h b/include/exec/user/abitypes.h
index 6191ce9f74..6178453d94 100644
--- a/include/exec/user/abitypes.h
+++ b/include/exec/user/abitypes.h
@@ -15,8 +15,16 @@
 #define ABI_LLONG_ALIGNMENT 2
 #endif
 
+#ifdef TARGET_CRIS
+#define ABI_SHORT_ALIGNMENT 1
+#define ABI_INT_ALIGNMENT 1
+#define ABI_LONG_ALIGNMENT 1
+#define ABI_LLONG_ALIGNMENT 1
+#endif
+
 #if (defined(TARGET_I386) && !defined(TARGET_X86_64)) \
     || defined(TARGET_SH4) \
+    || defined(TARGET_OPENRISC) \
     || defined(TARGET_MICROBLAZE) \
     || defined(TARGET_NIOS2)
 #define ABI_LLONG_ALIGNMENT 4
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.18



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.