Message ID | 20201027003848.10920-1-mforney@mforney.org |
---|---|
State | New |
Headers | show |
Series | osdep.h: Remove <sys/signal.h> include | expand |
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
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
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>
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>
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
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(-)