================ @@ -2759,6 +2762,29 @@ MCSection *TargetLoweringObjectFileXCOFF::getSectionForLSDA( //===----------------------------------------------------------------------===// TargetLoweringObjectFileGOFF::TargetLoweringObjectFileGOFF() = default; +void TargetLoweringObjectFileGOFF::getModuleMetadata(Module &M) { + // Construct the default names for the root SD and the ADA PR symbol. + StringRef FileName = sys::path::stem(M.getSourceFileName()); + if (FileName.size() > 1 && FileName.starts_with('<') && + FileName.ends_with('>')) + FileName = FileName.substr(1, FileName.size() - 2); + DefaultRootSDName = Twine(FileName).concat("#C").str(); ---------------- AidoP wrote:
The default root section should be a private section, a section with a name of 1 space. The source file name affecting ABI is quite surprising and could easily lead to linker errors, especially when taking just the stem. For example, `clang src/a.c src/impl/a.c` would have issues. Additionally I'm not sure if the file name can be relied on at all here. Is it guaranteed to be provided by a compiler frontend? Does it make sense for the file name to be interpreted as UTF-8 then converted to IBM-1047? It also needs to be normalised to deal with characters that are invalid for symbol names. https://github.com/llvm/llvm-project/pull/133799 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits