diff options
author | Andres Villegas <andresvi@google.com> | 2024-03-19 10:58:31 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-19 13:58:31 -0400 |
commit | 3176c157190c80b4279dec86c4b9b84472d8ccac (patch) | |
tree | 31751c0814ab695cf76a6ab63ca23d7612c04512 /llvm/tools/dsymutil/MachOUtils.cpp | |
parent | 4bade55cc65db8b7f977dba4f13bf335e93317a8 (diff) | |
download | llvm-3176c157190c80b4279dec86c4b9b84472d8ccac.zip llvm-3176c157190c80b4279dec86c4b9b84472d8ccac.tar.gz llvm-3176c157190c80b4279dec86c4b9b84472d8ccac.tar.bz2 |
Revert "[dsymutil] Remove support for obfuscated bitcode" (#85826)
Reverts llvm/llvm-project#85713 Since it is breaking Linux x64 builds.
Diffstat (limited to 'llvm/tools/dsymutil/MachOUtils.cpp')
-rw-r--r-- | llvm/tools/dsymutil/MachOUtils.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/tools/dsymutil/MachOUtils.cpp b/llvm/tools/dsymutil/MachOUtils.cpp index 8e144d6..3efc1af 100644 --- a/llvm/tools/dsymutil/MachOUtils.cpp +++ b/llvm/tools/dsymutil/MachOUtils.cpp @@ -373,7 +373,7 @@ static unsigned segmentLoadCommandSize(bool Is64Bit, unsigned NumSections) { // \a OutFile and it must be using a MachObjectWriter object to do so. bool generateDsymCompanion( llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS, const DebugMap &DM, - MCStreamer &MS, raw_fd_ostream &OutFile, + SymbolMapTranslator &Translator, MCStreamer &MS, raw_fd_ostream &OutFile, const std::vector<MachOUtils::DwarfRelocationApplicationInfo> &RelocationsToApply) { auto &ObjectStreamer = static_cast<MCObjectStreamer &>(MS); @@ -509,9 +509,12 @@ bool generateDsymCompanion( } SmallString<0> NewSymtab; + std::function<StringRef(StringRef)> TranslationLambda = + Translator ? [&](StringRef Input) { return Translator(Input); } + : static_cast<std::function<StringRef(StringRef)>>(nullptr); // Legacy dsymutil puts an empty string at the start of the line table. // thus we set NonRelocatableStringpool(,PutEmptyString=true) - NonRelocatableStringpool NewStrings(true); + NonRelocatableStringpool NewStrings(TranslationLambda, true); unsigned NListSize = Is64Bit ? sizeof(MachO::nlist_64) : sizeof(MachO::nlist); unsigned NumSyms = 0; uint64_t NewStringsSize = 0; |