[PATCH] um: fix CONFIG_GCOV for built-in code
Alex Hung
alex.hung at amd.com
Mon Aug 10 06:51:56 PDT 2026
Hi,
Any comments or concerns on this patch? Is it ready to be merged?
On 7/27/26 13:55, Alex Hung wrote:
> From: Johannes Berg <johannes at sipsolutions.net>
>
> 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 <johannes at sipsolutions.net>
> Signed-off-by: Alex Hung <alex.hung at amd.com>
> ---
>
> 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
>
More information about the linux-um
mailing list