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@intel.com
[ 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.I1358f584b76f1898373ad...
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!