miext/sync: Make struct _SyncObject::initialized fully ABI compatible
With a 32-bit build, putting the initialized field at the end of the
struct bumped the struct size from 20 bytes to 24, changing the layout
of other structs embedding struct _SyncObject. While this would be
acceptable on master, it caused crashes with 1.20.
Making the initialized field a char and putting it in the hole before
the beingDestroyed field restores the 32-bit ABI as well.
Fixes https://gitlab.freedesktop.org/xorg/xserver/issues/892
Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Alex Goins <agoins@nvidia.com>
(cherry picked from commit 0d8cc7bb18
)
This commit is contained in:
parent
5aadaac949
commit
c747dbb250
|
@ -43,8 +43,8 @@ struct _SyncObject {
|
|||
struct _SyncTriggerList *pTriglist; /* list of triggers */
|
||||
XID id; /* resource ID */
|
||||
unsigned char type; /* SYNC_* */
|
||||
unsigned char initialized; /* FALSE if created but not initialized */
|
||||
Bool beingDestroyed; /* in process of going away */
|
||||
Bool initialized; /* FALSE if created but not initialized */
|
||||
};
|
||||
|
||||
typedef struct _SyncCounter {
|
||||
|
|
Loading…
Reference in New Issue