[PATCH] um: fix CONFIG_GCOV for built-in code

Alex Hung alex.hung at amd.com
Fri Aug 21 08:25:53 PDT 2026


Ping for comments for this patch. Is it possible to merge for kernel 7.3 
if there are no concerns?

On 8/10/26 07:51, Alex Hung wrote:
> 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