Warnings for 5.4 kernel, note: [-Wvla]

Reading 0/204 dependency files
Done reading dependencies
Reading 0/204 dependency files
Done reading dependencies
In file included from hal/utils/halcmd_commands.cc:40:
hal/utils/halcmd_commands.cc: In function ‘int do_loadrt_cmd(char*, char**)’:
./config.h:49:24: warning: ISO C++ forbids converting a string constant to 
‘char*’ [-Wwrite-strings]
   49 | #define EMC2_RTLIB_DIR "/home/ntu/linuxcnc/rtlib"
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
hal/utils/halcmd_commands.cc:1110:30: note: in expansion of macro 
‘EMC2_RTLIB_DIR’
 1110 |     static char *rtmod_dir = EMC2_RTLIB_DIR;
      |                              ^~~~~~~~~~~~~~
hal/utils/halcmd_commands.cc:1130:22: warning: comparison of integer 
expressions of different signedness: ‘int’ and ‘long unsigned int’ 
[-Wsign-compare]
 1130 |         } else if (r >= sizeof(mod_path)) {
      |                    ~~^~~~~~~~~~~~~~~~~~~
emc/usr_intf/emclcd.cc: In function ‘int main(int, char**)’:
emc/usr_intf/emclcd.cc:494:52: warning: ‘%s’ directive output may be truncated 
writing up to 3679 bytes into a region of size 1013 [-Wformat-truncation=]
  494 |     snprintf(sockStr, sizeof(sockStr), "widget_add %s %s %s\n", 
widgets[i].screenName,
      |                                                    ^~
In file included from /usr/include/stdio.h:867,
                 from emc/usr_intf/emclcd.cc:30:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:35: note: 
‘__builtin___snprintf_chk’ output 15 or more bytes (assuming 3694) into a 
destination of size 1024
   67 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   68 |        __bos (__s), __fmt, __va_arg_pack ());
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hal/components/carousel.comp: In function ‘_’:
hal/components/carousel.comp:329:15: warning: this statement may fall through 
[-Wimplicit-fallthrough=]
hal/components/carousel.comp:330:5: note: here
hal/components/carousel.comp:367:15: warning: this statement may fall through 
[-Wimplicit-fallthrough=]
hal/components/carousel.comp:368:5: note: here
hal/components/carousel.comp:440:15: warning: this statement may fall through 
[-Wimplicit-fallthrough=]
hal/components/carousel.comp:441:5: note: here
hal/components/mesa_pktgyro_test.comp: In function ‘receive’:
hal/components/mesa_pktgyro_test.comp:74:2: warning: ISO C90 forbids variable 
length array ‘Replyd3’ [-Wvla]
hal/components/mesa_pktgyro_test.comp: In function ‘extra_setup’:
hal/components/mesa_pktgyro_test.comp:177:2: warning: ISO C90 forbids variable 
length array ‘read1’ [-Wvla]
hal/components/mesa_pktgyro_test.comp:178:2: warning: ISO C90 forbids variable 
length array ‘read1_sizes’ [-Wvla]
In file included from /home/ntu/linuxcnc/src/rtapi/rtai_rtapi.c:76:
/home/ntu/linuxcnc/src/rtapi/rtapi_vsnprintf.h: In function ‘rtapi_vsnprintf’:
/home/ntu/linuxcnc/src/rtapi/rtapi_vsnprintf.h:426:12: warning: this statement 
may fall through [-Wimplicit-fallthrough=]
  426 |      flags |= LARGE;
      |            ^
/home/ntu/linuxcnc/src/rtapi/rtapi_vsnprintf.h:427:2: note: here
  427 |  case 'x':
      |  ^~~~
/home/ntu/linuxcnc/src/hal/components/lcd.c: In function ‘write_one’:
/home/ntu/linuxcnc/src/hal/components/lcd.c:349:35: warning: this statement may 
fall through [-Wimplicit-fallthrough=]
  349 |                     inst->buff[1] = 0;
      |                     ~~~~~~~~~~~~~~^~~
/home/ntu/linuxcnc/src/hal/components/lcd.c:351:17: note: here
  351 |                 default: //check for hex
      |                 ^~~~~~~
/home/ntu/linuxcnc/src/hal/components/lcd.c:373:16: warning: this statement may 
fall through [-Wimplicit-fallthrough=]
  373 |             if (retval >= 0) {
      |                ^
/home/ntu/linuxcnc/src/hal/components/lcd.c:379:9: note: here
  379 |         default:
      |         ^~~~~~~
/home/ntu/linuxcnc/src/hal/components/lcd.c: In function ‘parse_fmt’:
/home/ntu/linuxcnc/src/hal/components/lcd.c:426:20: warning: this statement may 
fall through [-Wimplicit-fallthrough=]
  426 |                 if (c < 0 && d == 0){
      |                    ^
/home/ntu/linuxcnc/src/hal/components/lcd.c:430:13: note: here
  430 |             case '1':
      |             ^~~~
/home/ntu/linuxcnc/src/hal/components/lcd.c:465:22: warning: this statement may 
fall through [-Wimplicit-fallthrough=]
  465 |                 base = 16;
      |                 ~~~~~^~~~
/home/ntu/linuxcnc/src/hal/components/lcd.c:466:13: note: here
  466 |             case 'o':
      |             ^~~~
/home/ntu/linuxcnc/src/hal/components/lcd.c:467:20: warning: this statement may 
fall through [-Wimplicit-fallthrough=]
  467 |                 if (base == 10) base = 8;
      |                    ^
/home/ntu/linuxcnc/src/hal/components/lcd.c:468:13: note: here
  468 |             case 'u':
      |             ^~~~
/home/ntu/linuxcnc/src/hal/drivers/mesa-hostmot2/abs_encoder.c: In function 
‘hm2_absenc_register_tram’:
/home/ntu/linuxcnc/src/hal/drivers/mesa-hostmot2/abs_encoder.c:90:15: warning: 
this statement may fall through [-Wimplicit-fallthrough=]
   90 |             r += hm2_register_tram_read_region(hm2, chan->rw_addr[2],
      |               ^~
/home/ntu/linuxcnc/src/hal/drivers/mesa-hostmot2/abs_encoder.c:94:9: note: here
   94 |         case HM2_GTAG_SSI:
      |         ^~~~
In file included from 
/home/ntu/linuxcnc/src/hal/drivers/mesa-hostmot2/sserial.c:29:
/home/ntu/linuxcnc/src/hal/drivers/mesa-hostmot2/sserial.c: In function 
‘hm2_sserial_update_params’:
/home/ntu/linuxcnc/src/hal/drivers/mesa-hostmot2/hostmot2.h:53:34: warning: 
this statement may fall through [-Wimplicit-fallthrough=]
   53 | #define HM2_ERR(fmt, args...)    rtapi_print_msg(RTAPI_MSG_ERR,  
HM2_NAME "/%s: " fmt, hm2->llio->name, ## args)
      |                                  
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ntu/linuxcnc/src/hal/drivers/mesa-hostmot2/sserial.c:1531:33: note: in 
expansion of macro ‘HM2_ERR’
 1531 |                                 HM2_ERR("Non IEEE float type parameter 
of length %i\n", g->DataLength);
      |                                 ^~~~~~~
/home/ntu/linuxcnc/src/hal/drivers/mesa-hostmot2/sserial.c:1532:33: note: here
 1532 |                                 case 8:
      |                                 ^~~~
/home/ntu/linuxcnc/src/hal/drivers/mesa-hostmot2/sserial.c:1492:27: warning: 
this statement may fall through [-Wimplicit-fallthrough=]
 1492 |             *inst->state2 = 1;
      |             ~~~~~~~~~~~~~~^~~
/home/ntu/linuxcnc/src/hal/drivers/mesa-hostmot2/sserial.c:1493:9: note: here
 1493 |         case 1:
      |         ^~~~
/home/ntu/linuxcnc/src/hal/drivers/mesa-hostmot2/sserial.c: In function 
‘hm2_sserial_read_pins’:
/home/ntu/linuxcnc/src/hal/drivers/mesa-hostmot2/sserial.c:1978:22: warning: 
this statement may fall through [-Wimplicit-fallthrough=]
 1978 |                 buff = buff_store;
      |                 ~~~~~^~~~~~~~~~~~
/home/ntu/linuxcnc/src/hal/drivers/mesa-hostmot2/sserial.c:1980:13: note: here
 1980 |             case LBP_ENCODER:
      |             ^~~~
/home/ntu/linuxcnc/src/emc/motion/command.c: In function ‘is_feed_type’:
/home/ntu/linuxcnc/src/emc/motion/command.c:369:9: warning: this statement may 
fall through [-Wimplicit-fallthrough=]
  369 |         rtapi_print_msg(RTAPI_MSG_ERR, "Internal error: unhandled 
motion type %d\n", motion_type);
      |         
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ntu/linuxcnc/src/emc/motion/command.c:370:5: note: here
  370 |     case EMC_MOTION_TYPE_TOOLCHANGE:
      |     ^~~~
In file included from /home/ntu/linuxcnc/src/emc/motion/stashf.c:123:
/home/ntu/linuxcnc/src/emc/motion/stashf_wrap.h: In function ‘snprintdbuf’:
/home/ntu/linuxcnc/src/emc/motion/stashf_wrap.h:34:9: warning: ISO C90 forbids 
variable length array ‘block’ [-Wvla]
   34 |         char block[fmt_len + 1];
      |         ^~~~
/home/ntu/linuxcnc/src/emc/motion/homing.c: In function ‘do_homing_sequence’:
/home/ntu/linuxcnc/src/emc/motion/homing.c:352:25: warning: this statement may 
fall through [-Wimplicit-fallthrough=]
  352 |         sequence_is_set = 1;
      |         ~~~~~~~~~~~~~~~~^~~
/home/ntu/linuxcnc/src/emc/motion/homing.c:355:5: note: here
  355 |     case HOME_SEQUENCE_DO_ONE_SEQUENCE:
      |     ^~~~
/home/ntu/linuxcnc/src/emc/motion/homing.c:380:24: warning: this statement may 
fall through [-Wimplicit-fallthrough=]
  380 |         sequence_state = HOME_SEQUENCE_START;
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
/home/ntu/linuxcnc/src/emc/motion/homing.c:384:5: note: here
  384 |     case HOME_SEQUENCE_START:
      |     ^~~~
/home/ntu/linuxcnc/src/emc/motion/homing.c:432:23: warning: this statement may 
fall through [-Wimplicit-fallthrough=]
  432 |         homing_active = 1;
      |         ~~~~~~~~~~~~~~^~~
/home/ntu/linuxcnc/src/emc/motion/homing.c:435:5: note: here
  435 |     case HOME_SEQUENCE_START_JOINTS:
      |     ^~~~
/home/ntu/linuxcnc/src/emc/tp/tc.c: In function ‘tcGetMaxTargetVel’:
/home/ntu/linuxcnc/src/emc/tp/tc.c:43:23: warning: this statement may fall 
through [-Wimplicit-fallthrough=]
   43 |             max_scale = 1.0;
      |             ~~~~~~~~~~^~~~~
/home/ntu/linuxcnc/src/emc/tp/tc.c:44:9: note: here
   44 |         case TC_SYNC_POSITION:
      |         ^~~~
/home/ntu/linuxcnc/src/emc/tp/tp.c: In function ‘tpUpdateRigidTapState’:
/home/ntu/linuxcnc/src/emc/tp/tp.c:2526:39: warning: this statement may fall 
through [-Wimplicit-fallthrough=]
 2526 |             tc->coords.rigidtap.state = TAPPING;
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/home/ntu/linuxcnc/src/emc/tp/tp.c:2528:9: note: here
 2528 |         case TAPPING:
      |         ^~~~


I will post Debian packages for the 5.4 RTAI kernel once it's ready, but it may 
be a few weeks of testing. I need to fool proof Kconfig as well. I'll be using 
the latest Debian Bullseye 5.10 kernel config as the baseline, and just let 
Kconfig handle the differences once mine are plugged in. Latest config file is 
config-5.10.0-19-amd64.

Just posting the warnings now so the developers have time to sort out the VLAs. 
Variable length arrays are not accepted in kernel code and I'm not sure what 
the side effects are. The RTAI codebase itself has two VLAs as well.

In the mean time, can you guys push the migration of SUBDIRS=`pwd` to M=`pwd` ?

Alec


_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to