include/qemu/compiler.h | 6 +----- linux-user/qemu.h | 26 -------------------------- tests/lcitool/libvirt-ci | 2 +- 3 files changed, 2 insertions(+), 32 deletions(-)
Replace the slightly older version of this in include/qemu/compiler.h
that was commit as part of bsd-user changes with the newer one from
linux-user. bsd-user has no regreassions with this.
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
include/qemu/compiler.h | 6 +-----
linux-user/qemu.h | 26 --------------------------
tests/lcitool/libvirt-ci | 2 +-
3 files changed, 2 insertions(+), 32 deletions(-)
diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h
index b0374425180..0df9febbe2f 100644
--- a/include/qemu/compiler.h
+++ b/include/qemu/compiler.h
@@ -31,17 +31,13 @@
* functions than host-endian unaligned load/store plus tswapN.
* - The pragmas are necessary only to silence a clang false-positive
* warning: see https://bugs.llvm.org/show_bug.cgi?id=39113 .
- * - We have to disable -Wpragmas warnings to avoid a complaint about
- * an unknown warning type from older compilers that don't know about
- * -Waddress-of-packed-member.
* - gcc has bugs in its _Pragma() support in some versions, eg
* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83256 -- so we only
* include the warning-suppression pragmas for clang
*/
-#ifdef __clang__
+#if defined(__clang__) && __has_warning("-Waddress-of-packed-member")
#define PRAGMA_DISABLE_PACKED_WARNING \
_Pragma("GCC diagnostic push"); \
- _Pragma("GCC diagnostic ignored \"-Wpragmas\""); \
_Pragma("GCC diagnostic ignored \"-Waddress-of-packed-member\"")
#define PRAGMA_REENABLE_PACKED_WARNING \
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
index 4f8b55e2fb0..12821e54d0a 100644
--- a/linux-user/qemu.h
+++ b/linux-user/qemu.h
@@ -193,32 +193,6 @@ static inline bool access_ok(CPUState *cpu, int type,
These are usually used to access struct data members once the struct has
been locked - usually with lock_user_struct. */
-/*
- * Tricky points:
- * - Use __builtin_choose_expr to avoid type promotion from ?:,
- * - Invalid sizes result in a compile time error stemming from
- * the fact that abort has no parameters.
- * - It's easier to use the endian-specific unaligned load/store
- * functions than host-endian unaligned load/store plus tswapN.
- * - The pragmas are necessary only to silence a clang false-positive
- * warning: see https://bugs.llvm.org/show_bug.cgi?id=39113 .
- * - gcc has bugs in its _Pragma() support in some versions, eg
- * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83256 -- so we only
- * include the warning-suppression pragmas for clang
- */
-#if defined(__clang__) && __has_warning("-Waddress-of-packed-member")
-#define PRAGMA_DISABLE_PACKED_WARNING \
- _Pragma("GCC diagnostic push"); \
- _Pragma("GCC diagnostic ignored \"-Waddress-of-packed-member\"")
-
-#define PRAGMA_REENABLE_PACKED_WARNING \
- _Pragma("GCC diagnostic pop")
-
-#else
-#define PRAGMA_DISABLE_PACKED_WARNING
-#define PRAGMA_REENABLE_PACKED_WARNING
-#endif
-
#define __put_user_e(x, hptr, e) \
do { \
PRAGMA_DISABLE_PACKED_WARNING; \
diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci
index bbd55b4d18c..9bff3b763b5 160000
--- a/tests/lcitool/libvirt-ci
+++ b/tests/lcitool/libvirt-ci
@@ -1 +1 @@
-Subproject commit bbd55b4d18cce8f89b5167675e434a6941315634
+Subproject commit 9bff3b763b5531a1490e238bfbf77306dc3a6dbb
--
2.41.0
On 8/29/23 11:47, Warner Losh wrote: > Replace the slightly older version of this in include/qemu/compiler.h > that was commit as part of bsd-user changes with the newer one from > linux-user. bsd-user has no regreassions with this. > > Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> > diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci > index bbd55b4d18c..9bff3b763b5 160000 > --- a/tests/lcitool/libvirt-ci > +++ b/tests/lcitool/libvirt-ci > @@ -1 +1 @@ > -Subproject commit bbd55b4d18cce8f89b5167675e434a6941315634 > +Subproject commit 9bff3b763b5531a1490e238bfbf77306dc3a6dbb Be careful about these. r~
On Tue, Aug 29, 2023 at 5:35 PM Richard Henderson < richard.henderson@linaro.org> wrote: > On 8/29/23 11:47, Warner Losh wrote: > > Replace the slightly older version of this in include/qemu/compiler.h > > that was commit as part of bsd-user changes with the newer one from > > linux-user. bsd-user has no regreassions with this. > > > > Signed-off-by: Warner Losh <imp@bsdimp.com> > > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> > > > diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci > > index bbd55b4d18c..9bff3b763b5 160000 > > --- a/tests/lcitool/libvirt-ci > > +++ b/tests/lcitool/libvirt-ci > > @@ -1 +1 @@ > > -Subproject commit bbd55b4d18cce8f89b5167675e434a6941315634 > > +Subproject commit 9bff3b763b5531a1490e238bfbf77306dc3a6dbb > > Be careful about these. > Doh! how did I miss that... Oh, I only did the git submodule update on my blitz branch, but not also on the master branch before I created this. Nice catch. My love for submodules... is not increasing. Do I need to fix that and send a v3? Warner
On Tue, Aug 29, 2023 at 5:57 PM Warner Losh <imp@bsdimp.com> wrote: > > > On Tue, Aug 29, 2023 at 5:35 PM Richard Henderson < > richard.henderson@linaro.org> wrote: > >> On 8/29/23 11:47, Warner Losh wrote: >> > Replace the slightly older version of this in include/qemu/compiler.h >> > that was commit as part of bsd-user changes with the newer one from >> > linux-user. bsd-user has no regreassions with this. >> > >> > Signed-off-by: Warner Losh <imp@bsdimp.com> >> >> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> >> >> > diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci >> > index bbd55b4d18c..9bff3b763b5 160000 >> > --- a/tests/lcitool/libvirt-ci >> > +++ b/tests/lcitool/libvirt-ci >> > @@ -1 +1 @@ >> > -Subproject commit bbd55b4d18cce8f89b5167675e434a6941315634 >> > +Subproject commit 9bff3b763b5531a1490e238bfbf77306dc3a6dbb >> >> Be careful about these. >> > > Doh! how did I miss that... Oh, I only did the git submodule update on my > blitz branch, but not also on the master branch before I created this. Nice > catch. > > My love for submodules... is not increasing. Do I need to fix that and > send a v3? > .... or just send the pull request with your reviewed by? Warner
CC Peter Maywell CC Stefan Hajnoczi On Tue, Aug 29, 2023 at 12:51 PM Warner Losh <imp@bsdimp.com> wrote: > Replace the slightly older version of this in include/qemu/compiler.h > that was commit as part of bsd-user changes with the newer one from > linux-user. bsd-user has no regreassions with this. > > Signed-off-by: Warner Losh <imp@bsdimp.com> > --- > include/qemu/compiler.h | 6 +----- > linux-user/qemu.h | 26 -------------------------- > tests/lcitool/libvirt-ci | 2 +- > 3 files changed, 2 insertions(+), 32 deletions(-) > > diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h > index b0374425180..0df9febbe2f 100644 > --- a/include/qemu/compiler.h > +++ b/include/qemu/compiler.h > @@ -31,17 +31,13 @@ > * functions than host-endian unaligned load/store plus tswapN. > * - The pragmas are necessary only to silence a clang false-positive > * warning: see https://bugs.llvm.org/show_bug.cgi?id=39113 . > - * - We have to disable -Wpragmas warnings to avoid a complaint about > - * an unknown warning type from older compilers that don't know about > - * -Waddress-of-packed-member. > * - gcc has bugs in its _Pragma() support in some versions, eg > * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83256 -- so we only > * include the warning-suppression pragmas for clang > */ > -#ifdef __clang__ > +#if defined(__clang__) && __has_warning("-Waddress-of-packed-member") > #define PRAGMA_DISABLE_PACKED_WARNING \ > _Pragma("GCC diagnostic push"); \ > - _Pragma("GCC diagnostic ignored \"-Wpragmas\""); \ > _Pragma("GCC diagnostic ignored \"-Waddress-of-packed-member\"") > > #define PRAGMA_REENABLE_PACKED_WARNING \ > diff --git a/linux-user/qemu.h b/linux-user/qemu.h > index 4f8b55e2fb0..12821e54d0a 100644 > --- a/linux-user/qemu.h > +++ b/linux-user/qemu.h > @@ -193,32 +193,6 @@ static inline bool access_ok(CPUState *cpu, int type, > These are usually used to access struct data members once the struct > has > been locked - usually with lock_user_struct. */ > > -/* > - * Tricky points: > - * - Use __builtin_choose_expr to avoid type promotion from ?:, > - * - Invalid sizes result in a compile time error stemming from > - * the fact that abort has no parameters. > - * - It's easier to use the endian-specific unaligned load/store > - * functions than host-endian unaligned load/store plus tswapN. > - * - The pragmas are necessary only to silence a clang false-positive > - * warning: see https://bugs.llvm.org/show_bug.cgi?id=39113 . > - * - gcc has bugs in its _Pragma() support in some versions, eg > - * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83256 -- so we only > - * include the warning-suppression pragmas for clang > - */ > -#if defined(__clang__) && __has_warning("-Waddress-of-packed-member") > -#define PRAGMA_DISABLE_PACKED_WARNING \ > - _Pragma("GCC diagnostic push"); \ > - _Pragma("GCC diagnostic ignored \"-Waddress-of-packed-member\"") > - > -#define PRAGMA_REENABLE_PACKED_WARNING \ > - _Pragma("GCC diagnostic pop") > - > -#else > -#define PRAGMA_DISABLE_PACKED_WARNING > -#define PRAGMA_REENABLE_PACKED_WARNING > -#endif > - > #define __put_user_e(x, hptr, e) > \ > do { > \ > PRAGMA_DISABLE_PACKED_WARNING; > \ > diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci > index bbd55b4d18c..9bff3b763b5 160000 > --- a/tests/lcitool/libvirt-ci > +++ b/tests/lcitool/libvirt-ci > @@ -1 +1 @@ > -Subproject commit bbd55b4d18cce8f89b5167675e434a6941315634 > +Subproject commit 9bff3b763b5531a1490e238bfbf77306dc3a6dbb > -- > 2.41.0 > >
© 2016 - 2024 Red Hat, Inc.