https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97507
Bug ID: 97507 Summary: Move __gcov_exit from per-object .fini_array.00100 to libgcov Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: gcov-profile Assignee: unassigned at gcc dot gnu.org Reporter: i at maskray dot me CC: marxin at gcc dot gnu.org Target Milestone: --- Per object file .fini_array.00100 wastes space. __gcov_exit can be called in libgcov. It can be registered via atexit (if first run) in __gcov_init. The Linux kernel does not call destructors and currently discards .fini_array and .fini_array.* `gcc -fprofile-arcs` is currently one reason that .fini_array needs to be discarded (another reason is kasan. I don't know other reasons)