[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <bf0fbe49-65ec-e110-e937-b3b18df126c0@lwfinger.net>
Date: Tue, 15 Oct 2019 15:27:23 -0500
From: Larry Finger <Larry.Finger@...inger.net>
To: Joe Perches <joe@...ches.com>, LKML <linux-kernel@...r.kernel.org>
Subject: Re: Build failures since 5.4-rc3
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://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!
>
> $
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))
#define RT_FALL_THRU() RT_FALL_THROUGH()
The code uses both forms interchangeably. That failed - I think the () fooled
the compiler.
I replaced those with
#define FALL_THROUGH __attribute__((__fallthrough__))
#define RT_FALL_THRU() FALL_THROUGH
#define RT_FALL_THROUGH() FALL_THROUGH
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.
Larry
Powered by blists - more mailing lists