mirror of
https://github.com/qemu/qemu.git
synced 2025-08-14 11:43:46 +00:00
win32: remove usage of attribute gcc_struct
This attribute is not recognized by clang. An investigation has been performed to ensure this attribute has no effect on layout of structures we use in QEMU [1], so it's safe to remove now. In the future, we'll forbid introducing new bitfields in packed struct, as they are the one potentially impacted by this change. [1] https://lore.kernel.org/qemu-devel/66c346de-7e20-4831-b3eb-1cda83240af9@linaro.org/ Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Acked-by: Stefano Garzarella <sgarzare@redhat.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Acked-by: Michael S. Tsirkin <mst@redhat.com> Tested-by: Stefan Weil <sw@weilnetz.de> Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20250110203401.178532-2-pierrick.bouvier@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20250116160306.1709518-24-alex.bennee@linaro.org>
This commit is contained in:
parent
27f347e6a1
commit
8f5a4cfc7e
@ -22,12 +22,7 @@
|
||||
#define QEMU_EXTERN_C extern
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32) && (defined(__x86_64__) || defined(__i386__))
|
||||
# define QEMU_PACKED __attribute__((gcc_struct, packed))
|
||||
#else
|
||||
# define QEMU_PACKED __attribute__((packed))
|
||||
#endif
|
||||
|
||||
#define QEMU_PACKED __attribute__((packed))
|
||||
#define QEMU_ALIGNED(X) __attribute__((aligned(X)))
|
||||
|
||||
#ifndef glue
|
||||
|
@ -377,11 +377,6 @@ elif host_os == 'sunos'
|
||||
qemu_common_flags += '-D__EXTENSIONS__'
|
||||
elif host_os == 'haiku'
|
||||
qemu_common_flags += ['-DB_USE_POSITIVE_POSIX_ERRORS', '-D_BSD_SOURCE', '-fPIC']
|
||||
elif host_os == 'windows'
|
||||
if not compiler.compiles('struct x { int y; } __attribute__((gcc_struct));',
|
||||
args: '-Werror')
|
||||
error('Your compiler does not support __attribute__((gcc_struct)) - please use GCC instead of Clang')
|
||||
endif
|
||||
endif
|
||||
|
||||
# Choose instruction set (currently x86-only)
|
||||
|
@ -23,11 +23,7 @@
|
||||
#define G_GNUC_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
|
||||
#define G_GNUC_NULL_TERMINATED __attribute__((sentinel))
|
||||
|
||||
#if defined(_WIN32) && (defined(__x86_64__) || defined(__i386__))
|
||||
# define QEMU_PACKED __attribute__((gcc_struct, packed))
|
||||
#else
|
||||
# define QEMU_PACKED __attribute__((packed))
|
||||
#endif
|
||||
#define QEMU_PACKED __attribute__((packed))
|
||||
|
||||
#define cat(x,y) x ## y
|
||||
#define cat2(x,y) cat(x,y)
|
||||
|
@ -186,11 +186,7 @@ typedef struct VhostUserShared {
|
||||
unsigned char uuid[UUID_LEN];
|
||||
} VhostUserShared;
|
||||
|
||||
#if defined(_WIN32) && (defined(__x86_64__) || defined(__i386__))
|
||||
# define VU_PACKED __attribute__((gcc_struct, packed))
|
||||
#else
|
||||
# define VU_PACKED __attribute__((packed))
|
||||
#endif
|
||||
#define VU_PACKED __attribute__((packed))
|
||||
|
||||
typedef struct VhostUserMsg {
|
||||
int request;
|
||||
|
Loading…
Reference in New Issue
Block a user