um: Enable CONFIG_CONSTRUCTORS
authorJohannes Berg <johannes.berg@intel.com>
Fri, 23 Aug 2019 13:36:50 +0000 (15:36 +0200)
committerRichard Weinberger <richard@nod.at>
Sun, 15 Sep 2019 19:37:13 +0000 (21:37 +0200)
commit786b2384bf1c1b53dc23dc493aaaae29ef01e6ce
treeda587d75161c565cf98e9b3acfaf0b0a99898408
parent324f80cc3ee5b748735ba46288d4b2e0eb844ed7
um: Enable CONFIG_CONSTRUCTORS

We do need to call the constructors for *modules*, and
at least for KASAN in the future, we must call even the
kernel constructors only later when the kernel has been
initialized.

Instead of relying on libc to call them, emit an empty
section for libc and let the kernel's CONSTRUCTORS code
do the rest of the job.

Tested that it indeed doesn't work in modules, and does
work after the fixes in both, with a few functions with
__attribute__((constructor)) in both dynamic and static
builds.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
arch/um/include/asm/common.lds.S
arch/um/kernel/dyn.lds.S
init/Kconfig
kernel/gcov/Kconfig