linux-um archives
 help / color / mirror / Atom feed
* [PATCH] um: fix CONFIG_GCOV for built-in code
@ 2026-07-27 19:55 Alex Hung
  2026-08-10 13:51 ` Alex Hung
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Alex Hung @ 2026-07-27 19:55 UTC (permalink / raw)
  To: richard, anton.ivanov, johannes, alex.hung, linux-um

From: Johannes Berg <johannes@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@sipsolutions.net>
Signed-off-by: Alex Hung <alex.hung@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



^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-09-28 18:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-27 19:55 [PATCH] um: fix CONFIG_GCOV for built-in code Alex Hung
2026-08-10 13:51 ` Alex Hung
2026-08-21 15:25   ` Alex Hung
2026-09-23  5:05 ` Mariia Nikitash
2026-09-24  3:42 ` Kees Cook
2026-09-28 18:09   ` Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox