On Mon, Feb 08, 2021 at 07:25:21PM +0100, Johannes Berg wrote:
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.
I'll drop it then, thanks!
--
Thanks,
Sasha