Re: objtool warning, branch, patch, and .config (GCC bug)

From: Jakub Jelinek
Date: Thu May 26 2022 - 05:02:17 EST


On Thu, May 26, 2022 at 10:08:49AM +0200, Peter Zijlstra wrote:
> On Thu, May 26, 2022 at 10:03:13AM +0200, Peter Zijlstra wrote:
>
> > Which is just bloody weird/broken if you ask me. What's worse, GCC-10
> > does the same. Only when I use GCC-11 do I get sensible code again:
>
> Just to clarify, I can reproduce using:
>
> gcc-9 (Debian 9.4.0-5) 9.4.0
> gcc-10 (Debian 10.3.0-15) 10.3.0
>
> The good compiler is:
>
> gcc-11 (Debian 11.3.0-1) 11.3.0

Such fallthrough into another function is typically the result
of __builtin_unreachable (), either explicit somewhere in the code,
or invoking undefined behavior somewhere and __builtin_unreachable ()
replacing the UB code.
I'd need preprocessed source + full gcc command line to tell more
(as long as it is not LTO, with LTO that isn't enough of course).

Jakub