[PATCH] um: fix CONFIG_GCOV for built-in code
Alex Hung <[email protected]> Mon, 27 Jul 2026 13:55:15 -0600
| Newsgroups | gmane.linux.uml.devel |
|---|---|
| Message-ID | <[email protected]> |
From: Johannes Berg <[email protected]> With contemporary toolchains, CONFIG_GCOV doesn't work because gcov now relies on both init and exit handlers, but those are discarded from the binary. Fix the linker scripts to keep them instead, so that CONFIG_GCOV can work again. Note that this does not make it work in modules yet, since we don't call their exit handlers. Note: the .init_array.* wildcard and the RUNTIME_DISCARD_EXIT define are already present in this tree; only the matching .fini_array.* wildcard remained to be added. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Alex Hung <[email protected]> --- This is a revived patch. The original can be found at https://lkml.iu.edu/hypermail/linux/kernel/2103.1/06608.html arch/um/include/asm/common.lds.S | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/um/include/asm/common.lds.S b/arch/um/include/asm/common.lds.S index fd481ac371de..2ed213913afe 100644 --- a/arch/um/include/asm/common.lds.S +++ b/arch/um/include/asm/common.lds.S @@ -91,6 +91,7 @@ .fini_array : { __fini_array_start = .; *(.fini_array) + *(.fini_array.*) __fini_array_end = .; } -- 2.43.0