nutanix / libvfio-user

framework for emulating devices in userspace
BSD 3-Clause "New" or "Revised" License
166 stars 51 forks source link

Compilation error with Werror option #74

Closed changpe1 closed 3 years ago

changpe1 commented 3 years ago

based on commit 41914861

00:00:27.938 [ 8%] Building C object samples/CMakeFiles/test_read.dir/test_read.c.o 00:00:27.938 [ 8%] Building C object samples/CMakeFiles/test_dma_map.dir/test_dma_map.c.o 00:00:27.938 [ 13%] Building C object lib/CMakeFiles/muser.dir/dma.c.o 00:00:27.938 [ 21%] Building C object lib/CMakeFiles/muser.dir/libmuser.c.o 00:00:27.938 [ 21%] Building C object lib/CMakeFiles/muser.dir/libmuser_pci.c.o 00:00:27.939 [ 26%] Building C object samples/CMakeFiles/test_mmap.dir/test_mmap.c.o 00:00:27.939 [ 30%] Building C object lib/CMakeFiles/muser.dir/cap.c.o 00:00:27.939 [ 34%] Building C object samples/CMakeFiles/client.dir/client.c.o 00:00:27.939 [ 39%] Building C object samples/CMakeFiles/client.dir//lib/libmuser.c.o 00:00:27.939 [ 47%] Building C object samples/CMakeFiles/client.dir//lib/libmuser_pci.c.o 00:00:27.939 [ 47%] Building C object samples/CMakeFiles/client.dir//lib/dma.c.o 00:00:27.939 [ 52%] Building C object samples/CMakeFiles/client.dir//lib/cap.c.o 00:00:27.939 [ 65%] Linking C executable test_read 00:00:27.939 [ 65%] Linking C executable test_dma_map 00:00:27.939 [ 65%] Linking C executable test_mmap 00:00:27.978 [ 65%] Built target test_dma_map 00:00:27.978 [ 65%] Built target test_mmap 00:00:27.978 [ 65%] Built target test_read 00:00:28.075 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/cap.c: In function ‘handle_pm_write’: 00:00:28.075 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/cap.c:208:6: error: this statement may fall through [-Werror=implicit-fallthrough=] 00:00:28.075 208 | if (count != sizeof(struct pc)) { 00:00:28.075 | ^ 00:00:28.075 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/cap.c:212:2: note: here 00:00:28.075 212 | case offsetof(struct pmcap, pmcs): 00:00:28.075 | ^~~~ 00:00:28.075 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/cap.c: In function ‘caps_create’: 00:00:28.075 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/cap.c:467:9: error: ‘caps’ may be used uninitialized in this function [-Werror=maybe-uninitialized] 00:00:28.075 467 | free(caps); 00:00:28.075 | ^~~~~~ 00:00:28.075 cc1: all warnings being treated as errors 00:00:28.075 make[5]: [lib/CMakeFiles/muser.dir/build.make:122: lib/CMakeFiles/muser.dir/cap.c.o] Error 1 00:00:28.075 make[5]: Waiting for unfinished jobs.... 00:00:28.138 In file included from /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/dma.c:44: 00:00:28.138 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/dma.h: In function ‘dma_unmap_addr’: 00:00:28.138 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/dma.h:303:9: error: variable ‘r’ set but not used [-Werror=unused-but-set-variable] 00:00:28.138 303 | int r; 00:00:28.138 | ^ 00:00:28.138 cc1: all warnings being treated as errors 00:00:28.139 make[5]: [lib/CMakeFiles/muser.dir/build.make:83: lib/CMakeFiles/muser.dir/dma.c.o] Error 1 00:00:28.539 In file included from /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/libmuser.c:60: 00:00:28.539 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/dma.h: In function ‘dma_unmap_addr’: 00:00:28.539 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/dma.h:303:9: error: variable ‘r’ set but not used [-Werror=unused-but-set-variable] 00:00:28.539 303 | int r; 00:00:28.539 | ^ 00:00:28.539 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/libmuser.c: In function ‘recv_blocking’: 00:00:28.539 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/libmuser.c:134:14: error: variable ‘fret’ set but not used [-Werror=unused-but-set-variable] 00:00:28.539 134 | int ret, fret; 00:00:28.539 | ^~~~ 00:00:28.539 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/libmuser.c: In function ‘dev_get_info’: 00:00:28.539 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/libmuser.c:1173:24: error: unused parameter ‘lm_ctx’ [-Werror=unused-parameter] 00:00:28.539 1173 | dev_get_info(lm_ctx_t lm_ctx, struct vfio_device_info dev_info) 00:00:28.539 | ~~^~ 00:00:28.539 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/libmuser.c: In function ‘muser_mmap’: 00:00:28.539 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/libmuser.c:1463:22: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] 00:00:28.539 1463 | ((int)&addr), err); 00:00:28.539 | ~^~~~ 00:00:28.539 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/libmuser.c: In function ‘handle_device_set_irqs’: 00:00:28.539 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/libmuser.c:808:18: error: ‘data’ may be used uninitialized in this function [-Werror=maybe-uninitialized] 00:00:28.539 808 | i++, d32++) { 00:00:28.539 | ~~~^~ 00:00:28.539 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/libmuser.c:1865:11: note: ‘data’ was declared here 00:00:28.539 1865 | void data; 00:00:28.539 | ^~~~ 00:00:28.539 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/libmuser.c: In function ‘process_request’: 00:00:28.539 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/libmuser.c:1720:12: error: ‘ret’ may be used uninitialized in this function [-Werror=maybe-uninitialized] 00:00:28.539 1720 | return ret; 00:00:28.539 | ^~~ 00:00:28.539 /var/jenkins/workspace/BlobFS-autotest/spdk/muser/lib/libmuser.c:1648:13: note: ‘ret’ was declared here 00:00:28.539 1648 | ssize_t ret; 00:00:28.539 | ^~~ 00:00:28.539 cc1: all warnings being treated as errors 00:00:28.539 make[5]: ** [lib/CMakeFiles/muser.dir/build.make:96: lib/CMakeFiles/muser.dir/libmuser.c.o] Error 1 00:00:28.540 make[4]: [CMakeFiles/Makefile2:147: lib/CMakeFiles/muser.dir/all] Error 2 00:00:28.540 make[4]: Waiting for unfinished jobs.... 00:00:28.574 [ 69%] Linking C executable client 00:00:28.633 [ 69%] Built target client 00:00:28.634 make[3]: [Makefile:150: all] Error 2 00:00:28.635 make[2]: [Makefile:56: install] Error 2 00:00:28.635 make[1]: [Makefile:48: all] Error 2 00:00:28.636 make: [/var/jenkins/workspace/BlobFS-autotest/spdk/mk/spdk.subdirs.mk:44: muserbuild] Error 2 00:00:28.636 make: Waiting for unfinished jobs....

changpe1 commented 3 years ago

base on latest commit

00:00:43.648 Scanning dependencies of target test_dma_map 00:00:43.654 In file included from /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/dma.c:44: 00:00:43.654 /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/dma.h: In function ‘dma_unmap_addr’: 00:00:43.654 /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/dma.h:303:9: error: variable ‘r’ set but not used [-Werror=unused-but-set-variable] 00:00:43.654 303 | int r; 00:00:43.654 | ^ 00:00:43.654 cc1: all warnings being treated as errors 00:00:43.654 make[5]: [lib/CMakeFiles/muser.dir/build.make:83: lib/CMakeFiles/muser.dir/dma.c.o] Error 1 00:00:43.655 make[5]: Waiting for unfinished jobs.... 00:00:43.658 [ 17%] Building C object samples/CMakeFiles/client.dir//lib/libmuser.c.o 00:00:43.661 [ 21%] Building C object samples/CMakeFiles/test_dma_map.dir/test_dma_map.c.o 00:00:43.663 Scanning dependencies of target test_mmap 00:00:43.669 Scanning dependencies of target test_read 00:00:43.677 [ 26%] Building C object samples/CMakeFiles/test_mmap.dir/test_mmap.c.o 00:00:43.679 [ 30%] Linking C executable test_dma_map 00:00:43.681 [ 34%] Building C object samples/CMakeFiles/test_read.dir/test_read.c.o 00:00:43.693 [ 39%] Linking C executable test_mmap 00:00:43.699 [ 43%] Linking C executable test_read 00:00:43.723 [ 43%] Built target test_dma_map 00:00:43.738 [ 43%] Built target test_mmap 00:00:43.748 [ 43%] Built target test_read 00:00:44.078 [ 47%] Building C object samples/CMakeFiles/client.dir//lib/libmuser_pci.c.o 00:00:44.218 [ 52%] Building C object samples/CMakeFiles/client.dir/__/lib/dma.c.o 00:00:44.326 In file included from /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/libmuser.c:59: 00:00:44.326 /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/dma.h: In function ‘dma_unmap_addr’: 00:00:44.326 /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/dma.h:303:9: error: variable ‘r’ set but not used [-Werror=unused-but-set-variable] 00:00:44.326 303 | int r; 00:00:44.326 | ^ 00:00:44.326 /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/libmuser.c: In function ‘recv_blocking’: 00:00:44.326 /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/libmuser.c:143:14: error: variable ‘fret’ set but not used [-Werror=unused-but-set-variable] 00:00:44.326 143 | int ret, fret; 00:00:44.326 | ^~~~ 00:00:44.326 /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/libmuser.c: In function ‘dev_get_info’: 00:00:44.326 /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/libmuser.c:1083:24: error: unused parameter ‘lm_ctx’ [-Werror=unused-parameter] 00:00:44.326 1083 | dev_get_info(lm_ctx_t lm_ctx, struct vfio_device_info dev_info) 00:00:44.326 | ~~^~ 00:00:44.326 /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/libmuser.c: In function ‘handle_device_set_irqs’: 00:00:44.326 /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/libmuser.c:743:18: error: ‘data’ may be used uninitialized in this function [-Werror=maybe-uninitialized] 00:00:44.326 743 | i++, d32++) { 00:00:44.326 | ~~~^~ 00:00:44.326 /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/libmuser.c:1766:11: note: ‘data’ was declared here 00:00:44.326 1766 | void *data; 00:00:44.326 | ^~~~ 00:00:44.326 /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/libmuser.c: In function ‘process_request’: 00:00:44.326 /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/libmuser.c:1952:9: error: ‘ret’ may be used uninitialized in this function [-Werror=maybe-uninitialized] 00:00:44.326 1952 | lm_log(lm_ctx, LM_ERR, "bad region access acount, expected=%d, actual=%d", 00:00:44.326 | ^~~~~~~~~~~~~~~~~~ 00:00:44.326 1953 | region_access.count, ret); 00:00:44.326 | ~~~~~ 00:00:44.326 /var/jenkins/workspace/crypto-autotest/spdk/muser/lib/libmuser.c:1600:9: note: ‘ret’ was declared here 00:00:44.326 1600 | int ret; 00:00:44.326 | ^~~ 00:00:44.326 cc1: all warnings being treated as errors 00:00:44.326 make[5]: [lib/CMakeFiles/muser.dir/build.make:96: lib/CMakeFiles/muser.dir/libmuser.c.o] Error 1 00:00:44.326 make[4]: [CMakeFiles/Makefile2:147: lib/CMakeFiles/muser.dir/all] Error 2

swapnili commented 3 years ago

Fixes are merged into master.