aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/MC/MCObjectSymbolizer.h
diff options
context:
space:
mode:
authorAhmed Bougacha <ahmed.bougacha@gmail.com>2013-08-21 07:28:13 +0000
committerAhmed Bougacha <ahmed.bougacha@gmail.com>2013-08-21 07:28:13 +0000
commit9bfc0626c02e449dd321a71a09f005ac8239e921 (patch)
tree548b0f1acb61af2952b8b33f1e06f38120a66b5d /include/llvm/MC/MCObjectSymbolizer.h
parentcdef37a9d8d559042fe43d8ae91d4b65f281df69 (diff)
downloadexternal_llvm-9bfc0626c02e449dd321a71a09f005ac8239e921.tar.gz
external_llvm-9bfc0626c02e449dd321a71a09f005ac8239e921.tar.bz2
external_llvm-9bfc0626c02e449dd321a71a09f005ac8239e921.zip
MC: ObjectSymbolizer can now recognize external function stubs.
Only implemented in the Mach-O ObjectSymbolizer. The testcase sadly introduces a new binary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188879 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/MC/MCObjectSymbolizer.h')
-rw-r--r--include/llvm/MC/MCObjectSymbolizer.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/llvm/MC/MCObjectSymbolizer.h b/include/llvm/MC/MCObjectSymbolizer.h
index 7d70dfd56b..64b932ebe4 100644
--- a/include/llvm/MC/MCObjectSymbolizer.h
+++ b/include/llvm/MC/MCObjectSymbolizer.h
@@ -56,6 +56,11 @@ public:
int64_t Value, uint64_t Address);
/// @}
+ /// \brief Look for an external function symbol at \p Addr.
+ /// (References through the ELF PLT, Mach-O stubs, and similar).
+ /// \returns An MCExpr representing the external symbol, or 0 if not found.
+ virtual StringRef findExternalFunctionAt(uint64_t Addr);
+
/// \brief Create an object symbolizer for \p Obj.
static MCObjectSymbolizer *
createObjectSymbolizer(MCContext &Ctx, OwningPtr<MCRelocationInfo> &RelInfo,