[llvm] Add XCOFF object file support in sanitizer coverage tool (PR #179884)

Honey Goyal via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 18 11:59:43 PST 2026


================
@@ -713,7 +714,23 @@ findSanitizerCovFunctions(const object::ObjectFile &O) {
   if (const auto *MO = dyn_cast<object::MachOObjectFile>(&O)) {
     findMachOIndirectCovFunctions(*MO, &Result);
   }
-
+  if (const auto *XO = dyn_cast<object::XCOFFObjectFile>(&O)) {
+    for (const object::SymbolRef &Symbol : XO->symbols()) {
+      Expected<uint64_t> AddressOrErr = Symbol.getAddress();
+      failIfError(AddressOrErr);
+      uint64_t Address = AddressOrErr.get();
+
+      Expected<StringRef> NameOrErr = Symbol.getName();
+      failIfError(NameOrErr);
+      StringRef Name = NameOrErr.get();
+
+      if (isCoveragePointSymbol(Name) ||
+          (Name.starts_with(".") &&
+           isCoveragePointSymbol(Name.drop_front(1)))) {
+        Result.insert(Address);
+      }
+    }
+  }
----------------
honeygoyal wrote:

Raised NFC PR - [182111](https://github.com/llvm/llvm-project/pull/182111/changes)

https://github.com/llvm/llvm-project/pull/179884


More information about the llvm-commits mailing list