[dm-devel] multipath-tools: broken build system + warnings

Martin Wilck mwilck at suse.com
Wed Mar 7 21:16:19 UTC 2018


On Wed, 2018-03-07 at 17:40 +0100, Xose Vazquez Perez wrote:
> Hi,
> 
> It has to type "make" *twice* to build the full
> source code.

Hm, strange. I need to double check. It doesn't happen with my tree
AFAICS.

> 
> And new warnings:
> 
> ==== 2 gcc warnings ===
> make[1]: Entering directory '/home/xose/curre/arrays/multipath-
> tools/multipathd'
> 
> cc -O2 -g -pipe -Wall -Wextra -Wformat=2 -Werror=implicit-int
> -Werror=implicit-function-declaration -Werror=format-security -Wno-
> sign-compare -Wno-unused-parameter -Wno-clobbered -Werror=cast-qual
> -Werror=discarded-qualifiers -Wp,-D_FORTIFY_SOURCE=2 -fstack-
> protector-strong --param=ssp-buffer-size=4 -DBIN_DIR=\"/sbin\"
> -DLIB_STRING=\"lib64\" -DRUN_DIR=\"run\" -MMD -MP  -fPIE -DPIE
> -I../libmultipath -I../libmpathpersist -I../libmpathcmd -I../third-
> party -DUSE_SYSTEMD=234 -c -o uxlsnr.o uxlsnr.c
> uxlsnr.c: In function ‘uxsock_cleanup’:
> uxlsnr.c:151:16: warning: cast from pointer to integer of different
> size [-Wpointer-to-int-cast]
>   int ux_sock = (int)arg;

This is fixed by my recent 

[PATCH] multipathd: fix -Wpointer-to-int-cast warning in uxlsnr

>                 ^
> In file included from ../libmultipath/debug.h:5:0,
>                  from uxlsnr.c:28:
> uxlsnr.c: In function ‘uxsock_listen’:
> uxlsnr.c:184:39: warning: cast to pointer from integer of different
> size [-Wint-to-pointer-cast]
>   pthread_cleanup_push(uxsock_cleanup, (void *)ux_sock);
>                                        ^
> ==== end 2 gcc warnings ===


> ==== 2 clang warnings ===
> make[1]: Entering directory '/home/xose/curre/arrays/multipath-
> tools/multipath'
> clang -O2 -g -pipe -Wall -Wextra -Wformat=2 -Werror=implicit-int
> -Werror=implicit-function-declaration -Werror=format-security -Wno-
> sign-compare -Wno-unused-parameter -Wno-clobbered -Werror=cast-qual
> -Werror=discarded-qualifiers -Wp,-D_FORTIFY_SOURCE=2 -fstack-
> protector-strong --param=ssp-buffer-size=4 -DBIN_DIR=\"/sbin\"
> -DLIB_STRING=\"lib64\" -DRUN_DIR=\"run\" -MMD -MP  -fPIE -DPIE
> -I../libmultipath -I../libmpathcmd -c -o main.o main.c
> main.c:628:11: warning: variable 'reply' is used uninitialized
> whenever 'if' condition is true [-Wsometimes-uninitialized]
>         else if (p >= command + sizeof(command)) {
>                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> main.c:648:7: note: uninitialized use occurs here
>         FREE(reply);
>              ^~~~~
> ../libmultipath/memory.h:58:32: note: expanded from macro 'FREE'
> #define FREE(p)      do { free(p); p = NULL; } while(0)
>                                ^
> main.c:628:7: note: remove the 'if' if its condition is always false
>         else if (p >= command + sizeof(command)) {
>              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> main.c:609:32: note: initialize the variable 'reply' to silence this
> warning
>         char command[1024], *p, *reply;
>                                       ^
>                                        = NULL
> 
> clang -O2 -g -pipe -Wall -Wextra -Wformat=2 -Werror=implicit-int
> -Werror=implicit-function-declaration -Werror=format-security -Wno-
> sign-compare -Wno-unused-parameter -Wno-clobbered -Werror=cast-qual
> -Werror=discarded-qualifiers -Wp,-D_FORTIFY_SOURCE=2 -fstack-
> protector-strong --param=ssp-buffer-size=4 -DBIN_DIR=\"/sbin\"
> -DLIB_STRING=\"lib64\" -DRUN_DIR=\"run\" -MMD -MP  -fPIE -DPIE
> -I../libmultipath -I../libmpathpersist -I../libmpathcmd -I../third-
> party -DUSE_SYSTEMD=234 -c -o uxlsnr.o uxlsnr.c
> uxlsnr.c:184:39: warning: cast to 'void *' from smaller integer type
> 'int' [-Wint-to-void-pointer-cast]
>         pthread_cleanup_push(uxsock_cleanup, (void *)ux_sock);
>                                              ^
> ==== end 2 clang warnings ===

Thanks for pointing this out. I'll send a fixup patch (setting reply =
NULL, as clang helpfully suggested).

Martin

-- 
Dr. Martin Wilck <mwilck at suse.com>, Tel. +49 (0)911 74053 2107
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)




More information about the dm-devel mailing list