* [PATCH] osdep.h: Remove <sys/signal.h> include
@ 2020-10-27 0:38 Michael Forney
2020-10-27 16:30 ` Eric Blake
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Michael Forney @ 2020-10-27 0:38 UTC (permalink / raw)
To: qemu-devel
Prior to 2a4b472c3c, sys/signal.h was only included on OpenBSD
(apart from two .c files). The POSIX standard location for this
header is just <signal.h> and in fact, OpenBSD's signal.h includes
sys/signal.h itself.
Unconditionally including <sys/signal.h> on musl causes warnings
for just about every source file:
/usr/include/sys/signal.h:1:2: warning: #warning redirecting incorrect #include <sys/signal.h> to <signal.h> [-Wcpp]
1 | #warning redirecting incorrect #include <sys/signal.h> to <signal.h>
| ^~~~~~~
Since there don't seem to be any platforms which require including
<sys/signal.h> in addition to <signal.h>, and some platforms like
Haiku lack it completely, just remove it.
Tested building on OpenBSD after removing this include.
Signed-off-by: Michael Forney <mforney@mforney.org>
---
configure | 10 ----------
include/qemu/osdep.h | 4 ----
2 files changed, 14 deletions(-)
diff --git a/configure b/configure
index 55e07c82dd..7b57456052 100755
--- a/configure
+++ b/configure
@@ -3095,13 +3095,6 @@ if check_include "libdrm/drm.h" ; then
have_drm_h=yes
fi
-#########################################
-# sys/signal.h check
-have_sys_signal_h=no
-if check_include "sys/signal.h" ; then
- have_sys_signal_h=yes
-fi
-
##########################################
# VTE probe
@@ -6182,9 +6175,6 @@ fi
if test "$have_openpty" = "yes" ; then
echo "HAVE_OPENPTY=y" >> $config_host_mak
fi
-if test "$have_sys_signal_h" = "yes" ; then
- echo "HAVE_SYS_SIGNAL_H=y" >> $config_host_mak
-fi
# Work around a system header bug with some kernel/XFS header
# versions where they both try to define 'struct fsxattr':
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index f9ec8c84e9..a434382c58 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -104,10 +104,6 @@ extern int daemon(int, int);
#include <setjmp.h>
#include <signal.h>
-#ifdef HAVE_SYS_SIGNAL_H
-#include <sys/signal.h>
-#endif
-
#ifndef _WIN32
#include <sys/wait.h>
#else
--
2.29.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] osdep.h: Remove <sys/signal.h> include
2020-10-27 0:38 [PATCH] osdep.h: Remove <sys/signal.h> include Michael Forney
@ 2020-10-27 16:30 ` Eric Blake
2021-01-13 11:44 ` Thomas Huth
2021-01-13 21:56 ` [PATCH v2] " Michael Forney
2 siblings, 0 replies; 6+ messages in thread
From: Eric Blake @ 2020-10-27 16:30 UTC (permalink / raw)
To: Michael Forney, qemu-devel
On 10/26/20 7:38 PM, Michael Forney wrote:
> Prior to 2a4b472c3c, sys/signal.h was only included on OpenBSD
> (apart from two .c files). The POSIX standard location for this
> header is just <signal.h> and in fact, OpenBSD's signal.h includes
> sys/signal.h itself.
>
> Unconditionally including <sys/signal.h> on musl causes warnings
> for just about every source file:
>
> /usr/include/sys/signal.h:1:2: warning: #warning redirecting incorrect #include <sys/signal.h> to <signal.h> [-Wcpp]
> 1 | #warning redirecting incorrect #include <sys/signal.h> to <signal.h>
> | ^~~~~~~
>
> Since there don't seem to be any platforms which require including
> <sys/signal.h> in addition to <signal.h>, and some platforms like
> Haiku lack it completely, just remove it.
>
> Tested building on OpenBSD after removing this include.
>
> Signed-off-by: Michael Forney <mforney@mforney.org>
> ---
> configure | 10 ----------
> include/qemu/osdep.h | 4 ----
> 2 files changed, 14 deletions(-)
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] osdep.h: Remove <sys/signal.h> include
2020-10-27 0:38 [PATCH] osdep.h: Remove <sys/signal.h> include Michael Forney
2020-10-27 16:30 ` Eric Blake
@ 2021-01-13 11:44 ` Thomas Huth
2021-01-13 21:56 ` [PATCH v2] " Michael Forney
2 siblings, 0 replies; 6+ messages in thread
From: Thomas Huth @ 2021-01-13 11:44 UTC (permalink / raw)
To: Michael Forney, qemu-devel
On 27/10/2020 01.38, Michael Forney wrote:
> Prior to 2a4b472c3c, sys/signal.h was only included on OpenBSD
> (apart from two .c files). The POSIX standard location for this
> header is just <signal.h> and in fact, OpenBSD's signal.h includes
> sys/signal.h itself.
>
> Unconditionally including <sys/signal.h> on musl causes warnings
> for just about every source file:
>
> /usr/include/sys/signal.h:1:2: warning: #warning redirecting incorrect #include <sys/signal.h> to <signal.h> [-Wcpp]
> 1 | #warning redirecting incorrect #include <sys/signal.h> to <signal.h>
> | ^~~~~~~
>
> Since there don't seem to be any platforms which require including
> <sys/signal.h> in addition to <signal.h>, and some platforms like
> Haiku lack it completely, just remove it.
>
> Tested building on OpenBSD after removing this include.
>
> Signed-off-by: Michael Forney <mforney@mforney.org>
> ---
> configure | 10 ----------
> include/qemu/osdep.h | 4 ----
> 2 files changed, 14 deletions(-)
>
> diff --git a/configure b/configure
> index 55e07c82dd..7b57456052 100755
> --- a/configure
> +++ b/configure
> @@ -3095,13 +3095,6 @@ if check_include "libdrm/drm.h" ; then
> have_drm_h=yes
> fi
>
> -#########################################
> -# sys/signal.h check
> -have_sys_signal_h=no
> -if check_include "sys/signal.h" ; then
> - have_sys_signal_h=yes
> -fi
> -
> ##########################################
> # VTE probe
>
> @@ -6182,9 +6175,6 @@ fi
> if test "$have_openpty" = "yes" ; then
> echo "HAVE_OPENPTY=y" >> $config_host_mak
> fi
> -if test "$have_sys_signal_h" = "yes" ; then
> - echo "HAVE_SYS_SIGNAL_H=y" >> $config_host_mak
> -fi
>
> # Work around a system header bug with some kernel/XFS header
> # versions where they both try to define 'struct fsxattr':
> diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
> index f9ec8c84e9..a434382c58 100644
> --- a/include/qemu/osdep.h
> +++ b/include/qemu/osdep.h
> @@ -104,10 +104,6 @@ extern int daemon(int, int);
> #include <setjmp.h>
> #include <signal.h>
>
> -#ifdef HAVE_SYS_SIGNAL_H
> -#include <sys/signal.h>
> -#endif
> -
> #ifndef _WIN32
> #include <sys/wait.h>
> #else
>
Seems like this felt through the cracks, sorry. Since there have been some
changes to the configure scripts, could you please rework your patch and
post again, setting qemu-trivial@nongnu.org into CC: so that it gets more
attention?
Thanks,
Thomas
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2] osdep.h: Remove <sys/signal.h> include
2020-10-27 0:38 [PATCH] osdep.h: Remove <sys/signal.h> include Michael Forney
2020-10-27 16:30 ` Eric Blake
2021-01-13 11:44 ` Thomas Huth
@ 2021-01-13 21:56 ` Michael Forney
2021-01-14 6:26 ` Thomas Huth
2021-01-14 22:01 ` John Snow
2 siblings, 2 replies; 6+ messages in thread
From: Michael Forney @ 2021-01-13 21:56 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-trivial, Thomas Huth
Prior to 2a4b472c3c, sys/signal.h was only included on OpenBSD
(apart from two .c files). The POSIX standard location for this
header is just <signal.h> and in fact, OpenBSD's signal.h includes
sys/signal.h itself.
Unconditionally including <sys/signal.h> on musl causes warnings
for just about every source file:
/usr/include/sys/signal.h:1:2: warning: #warning redirecting incorrect #include <sys/signal.h> to <signal.h> [-Wcpp]
1 | #warning redirecting incorrect #include <sys/signal.h> to <signal.h>
| ^~~~~~~
Since there don't seem to be any platforms which require including
<sys/signal.h> in addition to <signal.h>, and some platforms like
Haiku lack it completely, just remove it.
Tested building on OpenBSD after removing this include.
Signed-off-by: Michael Forney <mforney@mforney.org>
Reviewed-by: Eric Blake <eblake@redhat.com>
---
Changes since v1: rebase on latest master
include/qemu/osdep.h | 4 ----
meson.build | 1 -
2 files changed, 5 deletions(-)
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index f9ec8c84e9..a434382c58 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -104,10 +104,6 @@ extern int daemon(int, int);
#include <setjmp.h>
#include <signal.h>
-#ifdef HAVE_SYS_SIGNAL_H
-#include <sys/signal.h>
-#endif
-
#ifndef _WIN32
#include <sys/wait.h>
#else
diff --git a/meson.build b/meson.build
index 3d889857a0..af2bc89741 100644
--- a/meson.build
+++ b/meson.build
@@ -1113,7 +1113,6 @@ config_host_data.set('HAVE_DRM_H', cc.has_header('libdrm/drm.h'))
config_host_data.set('HAVE_PTY_H', cc.has_header('pty.h'))
config_host_data.set('HAVE_SYS_IOCCOM_H', cc.has_header('sys/ioccom.h'))
config_host_data.set('HAVE_SYS_KCOV_H', cc.has_header('sys/kcov.h'))
-config_host_data.set('HAVE_SYS_SIGNAL_H', cc.has_header('sys/signal.h'))
ignored = ['CONFIG_QEMU_INTERP_PREFIX'] # actually per-target
arrays = ['CONFIG_AUDIO_DRIVERS', 'CONFIG_BDRV_RW_WHITELIST', 'CONFIG_BDRV_RO_WHITELIST']
--
2.30.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2] osdep.h: Remove <sys/signal.h> include
2021-01-13 21:56 ` [PATCH v2] " Michael Forney
@ 2021-01-14 6:26 ` Thomas Huth
2021-01-14 22:01 ` John Snow
1 sibling, 0 replies; 6+ messages in thread
From: Thomas Huth @ 2021-01-14 6:26 UTC (permalink / raw)
To: Michael Forney, qemu-devel; +Cc: qemu-trivial
On 13/01/2021 22.56, Michael Forney wrote:
> Prior to 2a4b472c3c, sys/signal.h was only included on OpenBSD
> (apart from two .c files). The POSIX standard location for this
> header is just <signal.h> and in fact, OpenBSD's signal.h includes
> sys/signal.h itself.
>
> Unconditionally including <sys/signal.h> on musl causes warnings
> for just about every source file:
>
> /usr/include/sys/signal.h:1:2: warning: #warning redirecting incorrect #include <sys/signal.h> to <signal.h> [-Wcpp]
> 1 | #warning redirecting incorrect #include <sys/signal.h> to <signal.h>
> | ^~~~~~~
>
> Since there don't seem to be any platforms which require including
> <sys/signal.h> in addition to <signal.h>, and some platforms like
> Haiku lack it completely, just remove it.
>
> Tested building on OpenBSD after removing this include.
>
> Signed-off-by: Michael Forney <mforney@mforney.org>
> Reviewed-by: Eric Blake <eblake@redhat.com>
> ---
> Changes since v1: rebase on latest master
>
> include/qemu/osdep.h | 4 ----
> meson.build | 1 -
> 2 files changed, 5 deletions(-)
>
> diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
> index f9ec8c84e9..a434382c58 100644
> --- a/include/qemu/osdep.h
> +++ b/include/qemu/osdep.h
> @@ -104,10 +104,6 @@ extern int daemon(int, int);
> #include <setjmp.h>
> #include <signal.h>
>
> -#ifdef HAVE_SYS_SIGNAL_H
> -#include <sys/signal.h>
> -#endif
> -
> #ifndef _WIN32
> #include <sys/wait.h>
> #else
> diff --git a/meson.build b/meson.build
> index 3d889857a0..af2bc89741 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1113,7 +1113,6 @@ config_host_data.set('HAVE_DRM_H', cc.has_header('libdrm/drm.h'))
> config_host_data.set('HAVE_PTY_H', cc.has_header('pty.h'))
> config_host_data.set('HAVE_SYS_IOCCOM_H', cc.has_header('sys/ioccom.h'))
> config_host_data.set('HAVE_SYS_KCOV_H', cc.has_header('sys/kcov.h'))
> -config_host_data.set('HAVE_SYS_SIGNAL_H', cc.has_header('sys/signal.h'))
>
> ignored = ['CONFIG_QEMU_INTERP_PREFIX'] # actually per-target
> arrays = ['CONFIG_AUDIO_DRIVERS', 'CONFIG_BDRV_RW_WHITELIST', 'CONFIG_BDRV_RO_WHITELIST']
>
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] osdep.h: Remove <sys/signal.h> include
2021-01-13 21:56 ` [PATCH v2] " Michael Forney
2021-01-14 6:26 ` Thomas Huth
@ 2021-01-14 22:01 ` John Snow
1 sibling, 0 replies; 6+ messages in thread
From: John Snow @ 2021-01-14 22:01 UTC (permalink / raw)
To: Michael Forney, qemu-devel; +Cc: qemu-trivial, Thomas Huth
On 1/13/21 4:56 PM, Michael Forney wrote:
> Prior to 2a4b472c3c, sys/signal.h was only included on OpenBSD
> (apart from two .c files). The POSIX standard location for this
> header is just <signal.h> and in fact, OpenBSD's signal.h includes
> sys/signal.h itself.
>
> Unconditionally including <sys/signal.h> on musl causes warnings
> for just about every source file:
>
> /usr/include/sys/signal.h:1:2: warning: #warning redirecting incorrect #include <sys/signal.h> to <signal.h> [-Wcpp]
> 1 | #warning redirecting incorrect #include <sys/signal.h> to <signal.h>
> | ^~~~~~~
>
> Since there don't seem to be any platforms which require including
> <sys/signal.h> in addition to <signal.h>, and some platforms like
> Haiku lack it completely, just remove it.
>
> Tested building on OpenBSD after removing this include.
>
> Signed-off-by: Michael Forney <mforney@mforney.org>
> Reviewed-by: Eric Blake <eblake@redhat.com>
I ran into this myself when testing an Alpine linux build with musl.
Seems to certainly cut down on the number of errors seen when building
in Alpine. There's still a few more, but there's definitely less.
Tested-by: John Snow <jsnow@redhat.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-01-14 22:03 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-27 0:38 [PATCH] osdep.h: Remove <sys/signal.h> include Michael Forney
2020-10-27 16:30 ` Eric Blake
2021-01-13 11:44 ` Thomas Huth
2021-01-13 21:56 ` [PATCH v2] " Michael Forney
2021-01-14 6:26 ` Thomas Huth
2021-01-14 22:01 ` John Snow
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.