The sem_timedwait function has been annotated as requiring non-null args in latest header files from GCC snapshot representing the future 2.30 release. This causes configure to fail when -Werror is used: config-temp/qemu-conf.c: In function ‘main’: config-temp/qemu-conf.c:2:25: error: null argument where non-null required (argument 1) [-Werror=nonnull] 2 | int main(void) { return sem_timedwait(0, 0); } | ^~~~~~~~~~~~~ config-temp/qemu-conf.c:2:25: error: null argument where non-null required (argument 2) [-Werror=nonnull] Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index b091b82cb3..6632d05fc7 100755 --- a/configure +++ b/configure @@ -5139,7 +5139,7 @@ fi sem_timedwait=no cat > $TMPC << EOF #include <semaphore.h> -int main(void) { return sem_timedwait(0, 0); } +int main(void) { sem_t s; struct timespec t = {0}; return sem_timedwait(&s, &t); } EOF if compile_prog "" "" ; then sem_timedwait=yes -- 2.21.0
Le 17/06/2019 à 13:41, Daniel P. Berrangé a écrit :
> The sem_timedwait function has been annotated as requiring
> non-null args in latest header files from GCC snapshot
> representing the future 2.30 release.
>
> This causes configure to fail when -Werror is used:
>
> config-temp/qemu-conf.c: In function ‘main’:
> config-temp/qemu-conf.c:2:25: error: null argument where non-null required (argument 1) [-Werror=nonnull]
> 2 | int main(void) { return sem_timedwait(0, 0); }
> | ^~~~~~~~~~~~~
> config-temp/qemu-conf.c:2:25: error: null argument where non-null required (argument 2) [-Werror=nonnull]
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
> configure | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index b091b82cb3..6632d05fc7 100755
> --- a/configure
> +++ b/configure
> @@ -5139,7 +5139,7 @@ fi
> sem_timedwait=no
> cat > $TMPC << EOF
> #include <semaphore.h>
> -int main(void) { return sem_timedwait(0, 0); }
> +int main(void) { sem_t s; struct timespec t = {0}; return sem_timedwait(&s, &t); }
> EOF
> if compile_prog "" "" ; then
> sem_timedwait=yes
>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Le 17/06/2019 à 13:41, Daniel P. Berrangé a écrit :
> The sem_timedwait function has been annotated as requiring
> non-null args in latest header files from GCC snapshot
> representing the future 2.30 release.
>
> This causes configure to fail when -Werror is used:
>
> config-temp/qemu-conf.c: In function ‘main’:
> config-temp/qemu-conf.c:2:25: error: null argument where non-null required (argument 1) [-Werror=nonnull]
> 2 | int main(void) { return sem_timedwait(0, 0); }
> | ^~~~~~~~~~~~~
> config-temp/qemu-conf.c:2:25: error: null argument where non-null required (argument 2) [-Werror=nonnull]
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
> configure | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index b091b82cb3..6632d05fc7 100755
> --- a/configure
> +++ b/configure
> @@ -5139,7 +5139,7 @@ fi
> sem_timedwait=no
> cat > $TMPC << EOF
> #include <semaphore.h>
> -int main(void) { return sem_timedwait(0, 0); }
> +int main(void) { sem_t s; struct timespec t = {0}; return sem_timedwait(&s, &t); }
> EOF
> if compile_prog "" "" ; then
> sem_timedwait=yes
>
Applied to my trivial-patches branch.
Thanks,
Laurent