Re: [PATCH AUTOSEL 4.9 4/4] init/gcov: allow CONFIG_CONSTRUCTORS on UML to fix module gcov

From: Johannes Berg
Date: Mon Feb 08 2021 - 15:07:15 EST


On Mon, 2021-02-08 at 18:00 +0000, Sasha Levin wrote:
> From: Johannes Berg <johannes.berg@xxxxxxxxx>
>
> [ Upstream commit 55b6f763d8bcb5546997933105d66d3e6b080e6a ]
>
> On ARCH=um, loading a module doesn't result in its constructors getting
> called, which breaks module gcov since the debugfs files are never
> registered. On the other hand, in-kernel constructors have already been
> called by the dynamic linker, so we can't call them again.
>
> Get out of this conundrum by allowing CONFIG_CONSTRUCTORS to be
> selected, but avoiding the in-kernel constructor calls.
>
> Also remove the "if !UML" from GCOV selecting CONSTRUCTORS now, since we
> really do want CONSTRUCTORS, just not kernel binary ones.
>
> Link: https://lkml.kernel.org/r/20210120172041.c246a2cac2fb.I1358f584b76f1898373adfed77f4462c8705b736@changeid
>


While I don't really *object* to this getting backported, it's also a
(development) corner case that somebody wants gcov and modules in
ARCH=um ... I'd probably not backport this.

johannes