aboutsummaryrefslogtreecommitdiff
path: root/src/core/arm/symbols.h
diff options
context:
space:
mode:
authorFernando S <fsahmkow27@gmail.com>2022-04-11 18:40:34 +0200
committerGitHub <noreply@github.com>2022-04-11 18:40:34 +0200
commitb86cfe159fe8fd4256a83db6fc4913a83ac37f00 (patch)
tree8b49faf932128e9b281e7789bbbaa3eb5a3905af /src/core/arm/symbols.h
parent4ad6bca31c231ce55268859f8c201372c2895f2d (diff)
parentb29242862bb650bd3c0d3dbad0466a30d2d015e5 (diff)
Merge pull request #8180 from liamwhite/symbols
core: extract symbol reading
Diffstat (limited to 'src/core/arm/symbols.h')
-rw-r--r--src/core/arm/symbols.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/core/arm/symbols.h b/src/core/arm/symbols.h
new file mode 100644
index 000000000..99e6a9f8e
--- /dev/null
+++ b/src/core/arm/symbols.h
@@ -0,0 +1,27 @@
+// Copyright 2022 yuzu Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include <map>
+#include <optional>
+#include <span>
+#include <string>
+#include <utility>
+
+#include "common/common_types.h"
+
+namespace Core::Memory {
+class Memory;
+} // namespace Core::Memory
+
+namespace Core::Symbols {
+
+using Symbols = std::map<std::string, std::pair<VAddr, std::size_t>, std::less<>>;
+
+Symbols GetSymbols(VAddr base, Core::Memory::Memory& memory, bool is_64 = true);
+Symbols GetSymbols(std::span<const u8> data, bool is_64 = true);
+std::optional<std::string> GetSymbolName(const Symbols& symbols, VAddr addr);
+
+} // namespace Core::Symbols