jasonmolenda wrote: In `ArchSpec::SetArchitecture` if we passed in the vendor in addition to the architecture, that would set the ObjectFile to MachO correctly *without* calling `Triple::setObjectFormat` which adds the object file name to the triple as an environment, if there is no environment. something like
``` diff --git a/lldb/source/Utility/ArchSpec.cpp b/lldb/source/Utility/ArchSpec.cpp index 70b9800f4da..aead2f7f364 100644 --- a/lldb/source/Utility/ArchSpec.cpp +++ b/lldb/source/Utility/ArchSpec.cpp @@ -887,6 +887,9 @@ bool ArchSpec::SetArchitecture(ArchitectureType arch_type, uint32_t cpu, // Always use the architecture name because it might be more // descriptive than the architecture enum ("armv7" -> // llvm::Triple::arm). + std::string initial_triple = core_def->name; + if (arch_type == eArchTypeMachO) + initial_triple += "-apple-"; m_triple.setArchName(llvm::StringRef(core_def->name)); if (arch_type == eArchTypeMachO) { m_triple.setVendor(llvm::Triple::Apple); ``` although that's not very prettily done. https://github.com/llvm/llvm-project/pull/142704 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits