D68041 placed __profc_, __profd_ and (if exists) __profvp_ in different comdat groups.
There are some issues:
- Cost: one or two additional section headers (.group section(s)): 64 or 128 bytes on ELF64.
- __profc_, __profd_ and (if exists) __profvp_ should be retained or discarded. Placing them into separate comdat groups is conceptually inferior.
- If the prevailing group does not include __profvp_ (value profiling not used) but a non-prevailing group from another translation unit has __profvp_ (the function is inlined into another and triggers value profiling), there will be a stray __profvp_ if --gc-sections is not enabled.