To make a kind of metadata section usage work, we may drop the
__start_/__stop_ references retain C identifier name sections rule from LLD (see D96914).
If an application has no __llvm_prf_data surviving --gc-sections,
LLD will error for {__start_,__stop_}__llvm_prf_* references from libclang_rt.profile-*.
Other __llvm_prf_* sections have similar issues.
Making the references weak can address the problem.
This probably enables the opportunity to drop zero size dummy sections in InstrProfilingPlatformLinux.c.