================ @@ -2962,13 +2964,34 @@ void PPCAIXAsmPrinter::emitPGORefs(Module &M) { } } +void PPCAIXAsmPrinter::emitGCOVRefs() { + if (!OutContext.hasXCOFFSection( + "__llvm_gcov_ctr_section", + XCOFF::CsectProperties(XCOFF::XMC_RW, XCOFF::XTY_SD))) + return; + + MCSection *CtrSection = OutContext.getXCOFFSection( + "__llvm_gcov_ctr_section", SectionKind::getData(), + XCOFF::CsectProperties(XCOFF::XMC_RW, XCOFF::XTY_SD), + /*MultiSymbolsAllowed*/ true); + + OutStreamer->switchSection(CtrSection); + if (OutContext.hasXCOFFSection( + "__llvm_covinit", + XCOFF::CsectProperties(XCOFF::XMC_RW, XCOFF::XTY_SD))) { ---------------- qiongsiwu wrote:
Good catch! I think the feature does not work when `-mxcoff-roptr` is in effect. It is fixed now. The codegen test is updated to catch this case as well. https://github.com/llvm/llvm-project/pull/108570 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits