Re: Build failures since 5.4-rc3

From: Larry Finger
Date: Tue Oct 15 2019 - 16:27:28 EST

On 10/15/19 2:32 PM, Joe Perches wrote:

Hey Larry.

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://
$ 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!


I am the maintainer of VirtualBox for openSUSE, and it is their version that has the problem.

The original code had the following macro definitions:

# define RT_FALL_THROUGH() __attribute__((fallthrough))

The code uses both forms interchangeably. That failed - I think the () fooled the compiler.

I replaced those with

#define FALL_THROUGH __attribute__((__fallthrough__))

My initial try was without the underscores around fallthrough, which caused a conflict with the one in your changes. Putting them back resulted in code that builds fine. Thanks for the help.