Re: Build failures since 5.4-rc3

From: Joe Perches
Date: Tue Oct 15 2019 - 15:32:12 EST


On Tue, 2019-10-15 at 14:09 -0500, Larry Finger wrote:
> Joe,

Hey Larry.

> 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))

Looks like this should be:

#define FALL_THROUGH __attribute__((__fallthrough__))

and there appear to be many of these #defines that
use __attribute__((foo)) where foo does not use the
double underscored prefix and suffix form

I also downloaded and trivially attempted to build vbox
without success, but I don't find this #define anywhere
in the sources. Clues?

$ git clone git://github.com/mirror/vbox.git
$ cd vbox

$ git grep FALL_THROUGH
$

$ ./configure
Checking for environment: Determined build machine: linux.amd64, target machine: linux.amd64, OK.
Checking for kBuild:
** kmk (variable KBUILDDIR) not found!
Check /home/joe/vbox/configure.log for details


$ cat configure.log
# Log file generated by
#
# './configure '
#

***** Checking environment *****
Determined build machine: linux.amd64, target machine: linux.amd64


***** Checking kBuild *****
** kmk (variable KBUILDDIR) not found!

$