[Bug tree-optimization/108552] Linux i386 kernel 5.14 memory corruption for pre_compound_page() when gcov is enabled
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jan 30 07:05:28 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108552
--- Comment #41 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Linus Torvalds from comment #31)
> (In reply to Richard Biener from comment #26)
> >
> > Now, in principle we should have applied store-motion and not only PRE which
> > would have avoided the issue, not tricking the RA into reloading the value
> > from where we store it in the loop, but the kernel uses -fno-tree-loop-im,
> > preventing that. If you enable that you'd get
>
> Note that we use -fno-tree-loop-im only for the GCOV case, and because of
> another problem with code generation with gcov. See
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69702
>
> and the fix for the excessive stack use was to disable that compiler option.
> See
>
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/
> ?id=c87bf431448b404a6ef5fbabd74c0e3e42157a7f
>
> for the kernel commit message.
Yes, I remember. So another option would be to add -fno-tree-pre to that
mix which should avoid hoisting the load out of the loop.
More information about the Gcc-bugs
mailing list