Просмотр исходного кода

QEMU_PACKED: Remove gcc_struct attribute in Windows non x86 targets

gcc_struct is for x86 only, and it generates an warning on ARM64 Clang/MinGW targets.

Signed-off-by: Cao Jiaxi <driver1998@foxmail.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-id: 20190503003618.10089-1-driver1998@foxmail.com
[PMM: dropped the slirp change as slirp is now a submodule]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Cao Jiaxi 6 лет назад
Родитель
Сommit
48bb55bfaa
3 измененных файлов с 8 добавлено и 3 удалено
  1. 1 1
      contrib/libvhost-user/libvhost-user.h
  2. 1 1
      include/qemu/compiler.h
  3. 6 1
      scripts/cocci-macro-file.h

+ 1 - 1
contrib/libvhost-user/libvhost-user.h

@@ -148,7 +148,7 @@ typedef struct VhostUserInflight {
     uint16_t queue_size;
     uint16_t queue_size;
 } VhostUserInflight;
 } VhostUserInflight;
 
 
-#if defined(_WIN32)
+#if defined(_WIN32) && (defined(__x86_64__) || defined(__i386__))
 # define VU_PACKED __attribute__((gcc_struct, packed))
 # define VU_PACKED __attribute__((gcc_struct, packed))
 #else
 #else
 # define VU_PACKED __attribute__((packed))
 # define VU_PACKED __attribute__((packed))

+ 1 - 1
include/qemu/compiler.h

@@ -28,7 +28,7 @@
 
 
 #define QEMU_SENTINEL __attribute__((sentinel))
 #define QEMU_SENTINEL __attribute__((sentinel))
 
 
-#if defined(_WIN32)
+#if defined(_WIN32) && (defined(__x86_64__) || defined(__i386__))
 # define QEMU_PACKED __attribute__((gcc_struct, packed))
 # define QEMU_PACKED __attribute__((gcc_struct, packed))
 #else
 #else
 # define QEMU_PACKED __attribute__((packed))
 # define QEMU_PACKED __attribute__((packed))

+ 6 - 1
scripts/cocci-macro-file.h

@@ -23,7 +23,12 @@
 #define QEMU_NORETURN __attribute__ ((__noreturn__))
 #define QEMU_NORETURN __attribute__ ((__noreturn__))
 #define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
 #define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
 #define QEMU_SENTINEL __attribute__((sentinel))
 #define QEMU_SENTINEL __attribute__((sentinel))
-#define QEMU_PACKED __attribute__((gcc_struct, packed))
+
+#if defined(_WIN32) && (defined(__x86_64__) || defined(__i386__))
+# define QEMU_PACKED __attribute__((gcc_struct, packed))
+#else
+# define QEMU_PACKED __attribute__((packed))
+#endif
 
 
 #define cat(x,y) x ## y
 #define cat(x,y) x ## y
 #define cat2(x,y) cat(x,y)
 #define cat2(x,y) cat(x,y)