aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/dsymutil/MachOUtils.cpp
diff options
context:
space:
mode:
authorAndres Villegas <andresvi@google.com>2024-03-19 10:58:31 -0700
committerGitHub <noreply@github.com>2024-03-19 13:58:31 -0400
commit3176c157190c80b4279dec86c4b9b84472d8ccac (patch)
tree31751c0814ab695cf76a6ab63ca23d7612c04512 /llvm/tools/dsymutil/MachOUtils.cpp
parent4bade55cc65db8b7f977dba4f13bf335e93317a8 (diff)
downloadllvm-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.cpp7
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;