Messages in this thread | | | Date | Thu, 26 May 2022 11:02:02 +0200 | From | Jakub Jelinek <> | Subject | Re: objtool warning, branch, patch, and .config (GCC bug) |
| |
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
| |