yuzu-mirror/src/core/arm/symbols.h

27 lines
680 B
C++

// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#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