Build failures since 5.4-rc3
From: Larry Finger
Date: Tue Oct 15 2019 - 15:09:45 EST
Joe,
Since commit 294f69e662d1("compiler_attributes.h: Add 'fallthrough' pseudo
keyword for switch/case use"), builds of VirtualBox are failing with the
following errors:
1954s] In file included from
/usr/src/linux-5.4.0-rc3-1.g2309d7d/include/linux/compiler_types.h:59,
[ 1954s] from <command-line>:
[ 1954s]
/home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/SUPDrvGip.c:
In function 'supdrvTscDeltaThread':
[ 1954s]
/usr/src/linux-5.4.0-rc3-1.g2309d7d/include/linux/compiler_attributes.h:200:41:
error: expected ')' before '__attribute__'
[ 1954s] 200 | # define fallthrough
__attribute__((__fallthrough__))
[ 1954s] | ^~~~~~~~~~~~~
[ 1954s]
/home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/include/iprt/cdefs.h:1169:44:
note: in expansion of macro 'fallthrough'
[ 1954s] 1169 | # define FALL_THROUGH __attribute__ ((fallthrough))
[ 1954s] | ^~~~~~~~~~~
[ 1954s]
/home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/include/iprt/cdefs.h:1176:33:
note: in expansion of macro 'FALL_THROUGH'
[ 1954s] 1176 | #define RT_FALL_THRU() FALL_THROUGH
[ 1954s] | ^~~~~~~~~~~~
[ 1954s]
/home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/SUPDrvGip.c:4192:17:
note: in expansion of macro 'RT_FALL_THRU'
[ 1954s] 4192 | RT_FALL_THRU();
[ 1954s] | ^~~~~~~~~~~~
[ 1954s] In file included from
/home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/include/VBox/cdefs.h:32,
[ 1954s] from
/home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/SUPDrvInternal.h:37,
[ 1954s] from
/home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/SUPDrvGip.c:33:
[ 1954s]
/home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/include/iprt/cdefs.h:1169:56:
error: expected identifier or '(' before ')' token
[ 1954s] 1169 | # define FALL_THROUGH __attribute__ ((fallthrough))
[ 1954s] | ^
[ 1954s]
/home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/include/iprt/cdefs.h:1176:33:
note: in expansion of macro 'FALL_THROUGH'
[ 1954s] 1176 | #define RT_FALL_THRU() FALL_THROUGH
[ 1954s] | ^~~~~~~~~~~~
I think the internal macros in the Oracle code are correct - at least they
worked before the patch in question was applied.
I would appreciate any suggestions.
Thanks,
Larry