Message ID | 8cca5c06-4df8-b7d4-4aee-f52f956437f8@bonslack.org |
---|---|
State | New |
Headers | show |
Series | Fixed incorrect LLONG alignment for openrisc and cris | expand |
On 03/08/2023 02.29, Luca Bonissi wrote: > From: Luca Bonissi <qemu@bonslack.org> > Date: Thu, 3 Aug 2023 02:15:57 +0200 > Subject: [PATCH] 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@bonslack.org> > --- > 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 Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1770 Reviewed-by: Thomas Huth <thuth@redhat.com>
03.08.2023 07:42, Thomas Huth wrote: > On 03/08/2023 02.29, Luca Bonissi wrote: >> From: Luca Bonissi <qemu@bonslack.org> >> Date: Thu, 3 Aug 2023 02:15:57 +0200 >> Subject: [PATCH] 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). Applied to my trivial-patches tree, thanks! /mjt
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