Messages in this thread | | | From | Arnd Bergmann <> | Date | Fri, 1 May 2020 21:47:16 +0200 | Subject | Re: Remaining randconfig objtool warnings, linux-next-20200428 |
| |
On Fri, May 1, 2020 at 7:50 PM Josh Poimboeuf <jpoimboe@redhat.com> wrote: > > On Fri, May 01, 2020 at 07:26:16PM +0200, Peter Zijlstra wrote: > > On Fri, May 01, 2020 at 07:21:31PM +0200, Arnd Bergmann wrote: > > > On Thu, Apr 30, 2020 at 4:05 PM Arnd Bergmann <arnd@arndb.de> wrote: > > > it gets into undefined behavior and stops emitting code after the call to > > > > > Do we consider this expected behavior on gcc's side, or is it something > > > that should not happen and needs a gcc bug report? > > > > When it hits UB it is of course free to do whatever it damn well > > pleases, but just stopping code gen seems a little extreme, at least > > issue a WARN that something is up or so. > > > > Not sure how the GCC folks feel about this though. > > When we've seen truncated code flow like this in the past, it's either > been a code bug (undefined behavior) or a GCC bug. So this is new. > > Is it only seen with GCC_PLUGIN_SANCOV enabled? Maybe (hopefully) it's > an issue with the plugin and how it interacts with GCC 10.
This is not the plugin but the built-in -fsanitize-coverage=trace-pc. With the reduced test case, I can also reproduce it on gcc-9.2 and gcc-9.3 but not on gcc-8.4.
So far I have not been able to reproduce it without -fsanitize-coverage=trace-pc, as the automated creduce tends to run off into undefined behavior unless I tell it to ignore runs that produce the objtool warning without the -fsanitize-coverage=trace-pc flag.
Arnd
| |